我制作了一个带有单选按钮的对话框,如下所示:
AlertDialog streamQualityDialog;
// Strings to Show In Dialog with Radio Buttons
final CharSequence[] items = {" Low "," High "};
// Creating and Building the Dialog
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Quality:");
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int position) {
final String channelLinkUrl = LinkConfig.getString(Player.this,
LinkConfig.CHANNEL_LINK_URL) + "?";
switch (position) {
case 0:
new ChannelLinkLoader(Player.this, channel, currentCategory + "").execute(channelLinkUrl + "channelId="
+ channel.getChannelId() + "&highQuality=off" + "&");
break;
case 1:
new ChannelLinkLoader(Player.this, channel, currentCategory + "").execute(channelLinkUrl + "channelId="
+ channel.getChannelId() + "&highQuality=on" + "&");
break;
}
streamQualityDialog.dismiss();
}
});
streamQualityDialog = builder.create();
streamQualityDialog.show();
现在对话框打开,单选按钮选项为单选,单击时单选按钮高亮显示。主要问题是,当我之前第二次打开对话框时,如果我选择了任何项目,那么我希望在之前选择的项目上选择单选按钮。
我怎样才能做到这一点?
我所做的是设置public int selectedElement=-1;我更换了这个
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener()
带有
builder.setSingleChoiceItems(items,selectedElement,new DialogInterface。OnClickListener()
在内部点击我设置选择项目的位置,如下所示:
selectedElement=位置;
这解决了我的问题。。但如果你想在应用程序关闭后存储价值,你可以使用共享偏好。
在SharedPreferences
中保存一个标志。
如果打开对话框,请检查该标志并相应地设置选择。
如果进行了选择,请更新标志。