Отклонить AlertDialog с EditText только тогда, когда он заполнен
У меня есть EditText в AlertDialog. Я хочу отклонить его только тогда, когда в EditText есть какой-то ввод, в противном случае отображается тост, предлагающий пользователю ввести данные.
В настоящее время, когда редактируемый текст содержит данные, диалоговое окно закрывается правильно. Также, когда текст редактирования пуст, отображается тост. Однако диалоговое окно по-прежнему закрывается, даже если EditText пуст и сообщение Toast отображается позже.
Я не хочу, чтобы ALertDialog отклонял, и EditText должен снова получить фокус после показа Toast.
Вот мой код:-
builder.setPositiveButton("Post", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
boolean worked = true;
postedComment = input1.getText().toString();
if(postedComment.length()==0 || postedComment=="" || postedComment.matches(""))
{
Toast.makeText(NewsDetails.this, "Please enter a comment.", Toast.LENGTH_LONG).show();
input1.findFocus();
worked = false;
}
else if(worked && postedComment!="")
{
dialog.dismiss();
pd = new ProgressDialog(NewsDetails.this);
pd.setMessage("Posting..");
pd.show();
pd.setCancelable(true);
PostComments(postedComment);
}
})
.setCancelable(false);
alert = builder.create();
alert.setCanceledOnTouchOutside(true);
alert.show();
1 ответ
Вам нужно написать собственный диалог для вашего требования. см. Пользовательский диалог с редактированием текста