Вы должны использовать Наблюдатель текста для вашего editText
. Если нет ввода, отключите эти две кнопки, используя setClickable(false);
. Если значение символа не вводится, отключите кнопку OK
AlertDialog.Builder ab = new AlertDialog.Builder(TasbihWorkActivity.this);
ab.setTitle("Enter Any String");
final EditText editText = new EditText(TasbihWorkActivity.this);
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// implement your logic here
}
});
ab.setView(editText);
ab.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
count_num.setText(editText.getText().toString());
}
});
ab.setNegativeButton("Cencel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
count_num.setText("No text entered!!!");
}
});
AlertDialog a = ab.create();
a.show();
Редактировать
Чтобы предотвратить исчезновение диалогового окна при нажатии на экран, добавьте следующий код
ab.setCancelable(false)