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