Как отключить кнопку alerttdialog, если edittext пуст?

У меня есть вводимый текст 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();

}

Попробуйте это :: TextUtils.isEmpty(value);

Jaymin 10.03.2018 12:02
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
1
132
2

Ответы 2

Вы можете проверить длину текста следующим образом

if (name.getText().toString().trim().length() == 0 ){
  //empty
}else{
  //non-empty
}

Я пробовал это, но если edittext пуст, пользователь может нажать положительную кнопку и открыть активность

dr.asama 10.03.2018 12:03

Это неправильный ответ. Нажатие любой кнопки в диалоговом окне закроет окно

waqaslam 10.03.2018 12:32

Эх ... это не то место, где люди пишут код для вас, но ...

    .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.

waqaslam 10.03.2018 12:33

Другие вопросы по теме