我想在第二次活动中检查radiobutton值。 我也使用RadioGroup和共享偏好。
但第一次Radiobutton值进入我的第二次活动。所以共享偏好不保存radiobutton值。
请出示此代码并帮助我如何获得?
rg = (RadioGroup) findViewById(R.id.radiotype);
rbtn=((RadioButton)rg.findViewById(getSelectedValue()));
if(rbtn!=null){
rbtn.setChecked(true);
}
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
savePreferences(RemainderType_Toggle, checkedId);
}
});
}
private void loadSavedPreferences() {
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(this);
TypeToggleValue = sharedPreferences.getInt(RemainderType_Toggle, R.id.radionoti);
if (TypeToggleValue == R.id.radionoti)
{
rbtn.setChecked(true);
}
else
{
rbtn.setChecked(false);
}
}
private int getSelectedValue(){
SharedPreferences pref=PreferenceManager.getDefaultSharedPreferences(this);
return pref.getInt(RemainderType_Toggle, -1);
}
private void savePreferences(String key, int value) {
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putInt(key, value);
editor.commit();
}
SecondAcityvity.java
这里我想要选择的radiobutton值。
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(context);
TypeToggleValue = sharedPreferences.getInt(RemainderType_Toggle, R.id.radioalarm);
Log.d("TypeToggleValue", String.valueOf(TypeToggleValue));
答案 0 :(得分:0)
您无需在引用RadioButton
时引用RadioGroup
。只需您可以访问它而无需参考。
更改以下内容
rbtn=((RadioButton)rg.findViewById(getSelectedValue()));
如下
rbtn=(RadioButton)findViewById(R.id.radioButton);