我想将 radiogroupt 的 selectedindex 保存到 sharedpreferences 但我不知道如何去做。谁能给我一些提示如何做到这一点?谢谢
user1410081
问问题
740 次
2 回答
0
您是否已经添加了您的广播组,您是否能够阅读它并知道如何使用 sharedpreferences?
如果是这样,我建议您在活动中覆盖 onPause()。在那里,您可以读取无线电组的值并将其保存到 sharedpreferences。
然后,如果需要,重写 onResume() 以从 sharedpreferences 中读取并更新 UI。
于 2012-08-27T16:16:28.213 回答
0
试试下面的示例代码:
public class MainActivity extends Activity {
private RadioGroup radioGroup;
private static final String SELECTED_INDEX="SelectedIndex";
private OnCheckedChangeListener checkedChangedListener=new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
saveSelectedIndex(checkedId);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
radioGroup = (RadioGroup) findViewById(R.id.rg);
radioGroup.setOnCheckedChangeListener(checkedChangedListener);
RadioButton rbtn=((RadioButton)radioGroup.findViewById(getSelectedValue()));
if(rbtn!=null){
rbtn.setChecked(true);
}
}
private int getSelectedValue(){
SharedPreferences pref=PreferenceManager.getDefaultSharedPreferences(this);
return pref.getInt(SELECTED_INDEX, -1);
}
private void saveSelectedIndex(int value){
SharedPreferences.Editor editor=PreferenceManager.getDefaultSharedPreferences(this).edit();
editor.putInt(SELECTED_INDEX, value);
editor.commit();
}
}
于 2012-08-27T16:23:50.693 回答