0

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

4

3 回答 3

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(); 
 }
于 2013-05-27T10:32:45.670 回答
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", "");
}

使用 getCheckedRadioButton() 获取选中的单选按钮状态并设置它。

于 2013-05-27T10:39:31.647 回答
0

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

于 2013-05-27T10:21:50.800 回答