在android上重新打开应用程序时,如何记住单选按钮的选择

时间:2013-05-27 10:18:46

标签: android radio-button checked

在我的应用程序中我有3个单选按钮..当我重新打开应用程序时,我检查过的单选按钮仍然会被检查。可能吗?

3 个答案:

答案 0 :(得分:2)

在OnCreate()

SharedPreferences sharedPreferences = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
int savedRadioIndex = sharedPreferences.getInt(KEY_SAVED_RADIO_BUTTON_INDEX, 0);
RadioButton savedCheckedRadioButton = (RadioButton)radioGroup.getChildAt(savedRadioIndex);
savedCheckedRadioButton.setChecked(true);

在单选按钮的OnCheckedChangeListener上调用类似“SavePreferences”的方法

SavePreferences("SAVED_RADIO_BUTTON_INDEX", checkedIndex);

记下方法

private void SavePreferences(String key, int value){
  SharedPreferences sharedPreferences = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
  SharedPreferences.Editor editor = sharedPreferences.edit();
  editor.putInt(key, value);
  editor.commit(); 
 }

答案 1 :(得分:1)

申请结束前

保存状态

 if(rbOne.isChecked())
 {
  saveCheckedRadioButtton("1");
 }
 else if(rbTwo.isChecked())
 {
  saveCheckedRadioButtton("2");
 }
 else if(rbThree.isChecked())
 {
  saveCheckedRadioButtton("3");
 }

这是SharedPreferences的代码:

SharedPreferences spRadio; // class variable

spRadio = context.getSharedPreferences("Your_pref_name",0);

public void saveCheckedRadioButtton(String strRB) 
{
    spRadio.edit().putString("checked_radio", strRB).commit();
}

public String getCheckedRadioButtton()
{
    return spRadio.getString("checked_radio", "");
}

使用getCheckedRadioButtton()获取已检查的单选按钮状态并进行设置。

答案 2 :(得分:0)

您可以在共享首选项中使用标志来保存和初始化值, 我希望它能起作用,因为它也适用于我的应用程序。