У меня есть вводимый текст alerttdialog, и я хочу, чтобы если edittext пуст, получить тост «plz fill field», если пользователь нажмет положительную кнопку, и если edittext не пуст, продолжить открытое действие
LayoutInflater layoutInflaterAndroid = LayoutInflater.from(newapp.this);
View view = layoutInflaterAndroid.inflate(R.layout.input_dialog, null);
AlertDialog.Builder adb = new AlertDialog.Builder(newapp.this);
adb.setView(view);
name = (EditText) view.findViewById(R.id.name);
password = (EditText) view.findViewById(R.id.password);
adb
.setCancelable(false)
.setTitle(getResources().getString(R.string.info))
.setIcon(R.mipmap.ic_launcher)
.setPositiveButton(getResources().getString(R.string.start), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogBox, int id) {
Intent cc = new Intent(StartActivity.this, news.class);
startActivity(cc);
}
})
.setNegativeButton(getResources().getString(R.string.close),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogBox, int id) {
dialogBox.cancel();
}
});
AlertDialog alertDialogAndroid = adb.create();
alertDialogAndroid.show();
}




Вы можете проверить длину текста следующим образом
if (name.getText().toString().trim().length() == 0 ){
//empty
}else{
//non-empty
}
Я пробовал это, но если edittext пуст, пользователь может нажать положительную кнопку и открыть активность
Это неправильный ответ. Нажатие любой кнопки в диалоговом окне закроет окно
Эх ... это не то место, где люди пишут код для вас, но ...
.setPositiveButton(getResources().getString(R.string.start), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogBox, int id) {
if (!TextUtils.isEmpty(name.getText().toString())
Intent cc = new Intent(StartActivity.this, news.class);
startActivity(cc);
} else {
Toast.makeText(context, "Message", Toast.LENGTH_LONG).show();
}
}
})
Это неправильный ответ. Нажатие любой кнопки в диалоговом окне закроет окно. Однако пользователь хочет оставаться в диалоговом окне, пока что-нибудь не будет записано в EditText.
Попробуйте это ::
TextUtils.isEmpty(value);