Android 警报对话框中选定的单选按钮不';我没有出现

Android 警报对话框中选定的单选按钮不';我没有出现,android,radio-button,android-alertdialog,Android,Radio Button,Android Alertdialog,我使用单选项创建了一个带有单选按钮的警报对话框,并向其传递了一系列选项。当我选择该值时,它工作正常,但当我再次打开对话框时,所选单选按钮不会显示 以下是我的代码: private void openBufferSizePopup() { AlertDialog.Builder mBuilder = new AlertDialog.Builder(getContext()); mBuilder.setTitle("Buffer Size"); int checkedInde

我使用单选项创建了一个带有单选按钮的警报对话框,并向其传递了一系列选项。当我选择该值时,它工作正常,但当我再次打开对话框时,所选单选按钮不会显示

以下是我的代码:

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();
}
以下是再次打开警报对话框时的屏幕截图:


第一个值是我选择的值,它的单选按钮没有出现。有人能告诉我为什么吗?谢谢

您的主题可能使用了白色(或类似于对话框背景的颜色),因为它是用来为此类按钮设置主题的颜色重音。检查colors.xml文件,确保colorAccent不是白色

<color name="colorAccent">#000000</color>
#000000
还要确保你的应用程序样式(在styles.xml中)引用了该颜色,或者它使用了与白色不同的颜色

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

我认为这是因为您当前的主题使用了与对话框背景混合的颜色。在colors.xml文件中,您的colorAccent颜色的值是多少?@joyedalu它是:#FF4081,预览显示粉色有点奇怪。您是否为对话框使用自定义样式?如果是,请发布您的styles.xml文件,以便我可以查看哦,不,是的,您是对的,colorAccent在styles.xml中设置为白色。该死请回答这个问题,这样我就可以接受了。那就接受吧,,