如何将选定的无线电组索引保存到共享引用



我想将无线电组的选定索引保存到共享引用,但我不知道如何做到这一点。有人能给我一些技巧吗?THanks

尝试下面的示例代码:

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();
}
}

你已经添加了你的无线电组吗?你能阅读它并知道如何使用共享引用吗?

如果是这样,我建议您在活动中覆盖onPause()。在那里,您可以读取无线电组的值,并将其保存到共享引用中。

然后,如果需要,覆盖onResume()以读取共享引用并更新UI。

最新更新