I have an AlertDialog with a view as shown below.
userEmail = new EditText(mActivity);
userEmail.setSingleLine(true);
userEmail.setHint("Email address");
userEmail.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
userEmail.addTextChangedListener(this);
AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
builder.setTitle(getResources().getString(R.string.text_dialog_email));
builder.setView(userEmail);
I have added a POSITIVE button to it with an event listener.
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
if(userEmail.getText().toString().trim().length() <= 0) {
userEmail.setError("Email address can't be empty");
} else {
//some logic
InputMethodManager imm = (InputMethodManager) mActivity.getSystemService(Activity.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(userEmail.getWindowToken(), 0);
dialog.dismiss();
}
} });
builder.create();
builder.show();
There is an email validation when user hits ok button. I was expecting the dialog to stay if the Edittext is empty. However, in real, dialog disappears even if the EditText is empty.
Is there anything I am lacking?
EDIT
The whole code is inside a method, openEmailDialog(). It is invoked on a buttonclick.
@Override
public void onClick(View view) {
openEmailDialog();
}