Java 不保留选择的RadioDialog
我有这个收音机对话Java 不保留选择的RadioDialog,java,android,xml,Java,Android,Xml,我有这个收音机对话 case R.id.main_btn_ics: AlertDialog levelDialog; // Strings to Show In Dialog with Radio Buttons final CharSequence[] items = {"Normal","Silent","Vibrate"}; // Creating and Building the Dialog
case R.id.main_btn_ics:
AlertDialog levelDialog;
// Strings to Show In Dialog with Radio Buttons
final CharSequence[] items = {"Normal","Silent","Vibrate"};
// Creating and Building the Dialog
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select a profile");
builder.setNegativeButton("OK", null);
builder.setCancelable(false);
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
AudioManager audiomanage = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
switch(item)
{
case 0:
audiomanage.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
break;
case 1:
audiomanage.setRingerMode(AudioManager.RINGER_MODE_SILENT);
break;
case 2:
audiomanage.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
break;
}
}
});
levelDialog = builder.create();
levelDialog.show();
单击按钮时会显示此单选对话框。问题是它不存储所选内容。例如,如果我选择“正常”,单击“确定”,然后再次单击按钮以显示收音机对话框,则该对话框没有存储值。为什么要这样做?我怎样才能让他记住选择?builder.setSingleChoiceItems(items,-1,new DialogInterface.OnClickListener(){ 将-1替换为以前选择的内容
final AudioManager audiomanage = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
int selectedIndex = -1;
if (audiomanage.getRingerMode() == AudioManager.RINGER_MODE_NORMAL){
selectedIndex = 0;
} else if (audiomanage.getRingerMode() == AudioManager.RINGER_MODE_SILENT){
selectedIndex = 1;
} else if (audiomanage.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE){
selectedIndex = 2;
}
builder.setSingleChoiceItems(items, selectedIndex , new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
switch(item)
{
case 0:
audiomanage.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
break;
case 1:
audiomanage.setRingerMode(AudioManager.RINGER_MODE_SILENT);
break;
case 2:
audiomanage.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
break;
}
}
});
例如,用什么来代替-1?好吧,它是有效的,只是当我关闭应用程序时,我丢失了存储的数据。我该如何解决?