У меня есть диалоговое окно с добавленным текстом редактирования.Имеет положительные и отрицательные кнопки.Всякий раз, когда я нажимаю кнопку «позитив / ок», диалоговое окно закрывается, даже если текст редактирования пуст.
Я хочу получить контроль над этим поведением.а именно;Я хочу, чтобы alerttdialog завершал работу, только если текст редактирования не пустой.
Примечание: strAuthorDesc - это строковая переменная.
Вот код, который выполняется при нажатии кнопки.
AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
builder.setTitle("Author Desc.");
final EditText descInput = new EditText(mActivity);
descInput.setInputType(InputType.TYPE_CLASS_TEXT);
descInput.setTextColor(ContextCompat.getColor(mActivity, R.color.black));
descInput.setLines(5);
// descInput.setMaxLines(5);
descInput.setGravity(Gravity.LEFT | Gravity.TOP);
descInput.setSingleLine(false);
descInput.setHorizontalScrollBarEnabled(false);
builder.setView(descInput);
builder.setPositiveButton("SAVE", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
strAuthorDesc = descInput.getText().toString();
if(strAuthorDesc != null && !strAuthorDesc.equals("")){
dialog.dismiss();
Const.showToast("Description added", mActivity);
setAuthorDesc();
}else{
Const.showToast("Desc. cannot be empty!", mActivity);
}
}
});
builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
alertDialog = builder.create();
alertDialog.setCancelable(false);
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
alertDialog.show();