Я пытаюсь добавить пустые полевые проверки на EditText
на AlertDialog
. Но даже после того, как поле пусто, сообщение об ошибке не отображается, вместо этого AlertDialog
закрывается. Но если условия работают хорошо, так как я не могу выполнять почтовые операции, если какое-либо поле пусто.Проверка на EditText в alertDialog
Вот мой Java Пример кода:
public class TourActivity extends AppCompatActivity {
private LayoutInflater inflater;
private FloatingActionButton fab;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tour);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
inflater = TourActivity.this.getLayoutInflater();
View content = inflater.inflate(R.layout.activity_add_new_trip, null);
final EditText editEvent = (EditText) content.findViewById(R.id.edTxt_EventName);
final EditText editStartDate = (EditText) content.findViewById(R.id.edTxt_EventSDate);
AlertDialog.Builder builder = new AlertDialog.Builder(TourActivity.this);
builder.setView(content)
.setTitle("Add Event")
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
editEvent.setError(null);
editStartDate.setError(null);
boolean cancel = false;
View focusView = null;
if (TextUtils.isEmpty(editEvent.getText().toString()))) {
editEvent.setError("Please Enter Event Name.");
return;
}
if (TextUtils.isEmpty(editStartDate.getText().toString())) {
editStartDate.setError("Please Enter Event Start Date.");
focusView = editStartDate;
cancel = true;
}
if (cancel == true) {
Snackbar.make(findViewById(android.R.id.content),
"Event Unsuccessful.", Snackbar.LENGTH_LONG)
.setActionTextColor(Color.RED)
.show();
focusView.requestFocus();
} else {
// Some action here
}
}
})
.setNegativeButton(cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
});
}
}
является то, что '' edEvent' в IF (Textutils .isEmpty (edEvent)) {'?. Как насчет того, чтобы сначала прокомментировать другую проверку, а затем проверить первый код проверки. –
Изменена эта строка и исправлена. –