Выбранная радио-кнопка в диалоге оповещений не отображается - PullRequest
0 голосов
/ 30 сентября 2018

Я создал диалог оповещения с переключателями, используя элементы с одним выбором, и передал ему множество параметров.Когда я выбираю значение, оно работает хорошо, но когда я снова открываю диалоговое окно, выбранный переключатель не отображается.

Вот мой код для этого:

private void openBufferSizePopup() {
    AlertDialog.Builder mBuilder = new AlertDialog.Builder(getContext());
    mBuilder.setTitle("Buffer Size");
    int checkedIndex = getArrayIndex(sizes, Constants.BUFFER_BEFORE);
    mBuilder.setSingleChoiceItems(buffer_sizes, checkedIndex, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
            Constants.BUFFER_SIZE = sizes[i];
            SharedPreferences.Editor editor = getContext().getSharedPreferences(TUNEIN2, MODE_PRIVATE).edit();
            editor.putInt(Constants.BUFFER_SIZE_STR, Constants.BUFFER_SIZE);
            editor.apply();
            bufferSizeText.setText("Keep a buffer of " + Constants.BUFFER_SIZE + " minutes while playing");
            dialogInterface.dismiss();
        }
    });
    mBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            dialog.dismiss();
        }
    });

    AlertDialog mDialog = mBuilder.create();
    mDialog.show();
}

Ниже приведен скриншот диалогового окна Alert при повторном открытии: image

первое значение - это то, которое я выбрал, и его переключатель не отображается.Может кто-нибудь сказать мне, почему это?Спасибо

1 Ответ

0 голосов
/ 30 сентября 2018

Ваша тема, вероятно, использует белый цвет (или что-то похожее на фон диалогового окна), так как это colorAccent , который используется для темы таких кнопок.Проверьте файл colors.xml и убедитесь, что colorAccent не белый.

<color name="colorAccent">#000000</color>

Также убедитесь, что стиль вашего приложения (в стилях ).xml ) ссылается на этот цвет или на то, что он использует цвет, отличный от белого.

<item name="colorAccent">@color/colorAccent</item>
...