在我的应用程序中,我有 3 个单选按钮。当我重新打开应用程序时,我之前检查的单选按钮仍然会被选中。有可能吗?
问问题
1718 次
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 回答