我使用单选项目创建了一个带有单选按钮的警报对话框,并向其传递了一系列选项。当我选择该值时,它工作正常,但是当我再次打开对话框时,所选单选按钮不显示。
这是我的代码:
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();
}
第一个值是我选择的值,并且其单选按钮未出现。有人可以告诉我为什么吗?谢谢
答案 0 :(得分:0)
您的主题可能使用白色(或类似于对话框背景的颜色),因为它的 colorAccent 用于为此类按钮设置主题。检查您的 colors.xml 文件,并确保您的 colorAccent 不是白色。
False
还要确保您的应用样式(在 styles.xml 中)引用了该颜色,或者也使用了与白色不同的颜色。
<color name="colorAccent">#000000</color>