Содержание Описание кнопок диалогового окна оповещения - PullRequest
1 голос
/ 17 июня 2019

Я отображаю AlertDialog следующим образом:

private void showAlertDialog(String message){
    new AlertDialog.Builder(MainActivity.this)
        .setMessage(message)
        .setPositiveButton(android.R.string.ok, null)
        .show();
}

Я хотел бы запустить автоматические тесты, которые переключаются на android:contentDescription для чтения значений.

Можно ли добавить / получить этот параметр с помощью кнопки «Положительный и отрицательный» встроенного диалогового окна «Предупреждение»?

Ответы [ 2 ]

1 голос
/ 18 июня 2019

Я уже ответил в комментарии, Просто чтобы закрыть вопрос с принятым ответом ...

Вы можете получить кнопку действия Диалога, используя #alertDialog.getButton() ... В этом конкретном случае Вы можете использовать: -

alertDialog.getButton(DialogInterface.BUTTON_POSITIVE).setContentDescription("positive");
alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE).setContentDescription("negative");
1 голос
/ 17 июня 2019

Проверяя файл alert_dialog.xml на ANDROID_HOME/platforms/android-28/data/res/layout, я вижу кнопки от РЕГУЛЯРНЫЕ / СТАНДАРТНЫЕ AlertDialog определяется следующим образом:

<Button android:id="@+id/button1"
    android:layout_width="0dip"
    android:layout_gravity="start"
    android:layout_weight="1"
    ... />
<Button android:id="@+id/button3"
    android:layout_width="0dip"
    android:layout_gravity="center_horizontal"
    android:layout_weight="1"
    ... />
<Button android:id="@+id/button2"
    android:layout_width="0dip"
    android:layout_gravity="end"
    android:layout_weight="1"
    ... />

Затем вы можетевыполните поиск по этим представлениям и получите их содержимое следующим образом:

AlertDialog alert = builder.create();
alert.findViewById(android.R.id.button1);

РЕДАКТИРОВАТЬ

Как уже упоминалось @ADM в комментариях, вы можете легко запустить приведенный ниже код:

Вы можете установить его с помощью alertDialog.getButton(DialogInterface.BUTTON_POSITIVE).setContentDescription("positive");

Проще и проще .. И вам не нужно полагаться на View ID .. очень хорошо (и лучше)решение!

...