4
我有活动更改radioButton。Android:SharedReferences在BroadcastReceiver RadioButton的整数值不更新?
在onCreate方法 sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
radioGroup = (RadioGroup)findViewById(R.id.radiogroup);
radioGroup.setOnCheckedChangeListener(radioGroupOnCheckedChangeListener);
实现重写的方法,并获得单选框保存sharedpreference
RadioGroup.OnCheckedChangeListener radioGroupOnCheckedChangeListener =
new RadioGroup.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton checkedRadioButton = (RadioButton)radioGroup.findViewById(checkedId);
int checkedIndex = radioGroup.indexOfChild(checkedRadioButton);
savePreferences("remaindertype_toggle_value",checkedIndex);
Log.e("Chenge", String.valueOf(checkedIndex)); // here the get proper value of checkdIndex
}};
落实sharePreference方法...
private void savePreferences(String key, int data) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt(key, data);
editor.commit();
Log.e("Chengeinside", String.valueOf(value));// Here also get the proper value of the data..
}
现在当接收AlarmReceiver扩展BroadcastReceiver
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
SharedPreferences sharedPreferences =
PreferenceManager.getDefaultSharedPreferences(context);
TypeToggleValue = sharedPreferences.getInt(RemainderType_Toggle, 0);
Log.e("AppToggleValue", String.valueOf(TypeToggleValue));// here when first time run the application get the proper value but change the value and secound time get the value its does not updated
}
我也保持AndroidMainifest.xml文件
<receiver
android:name="AlarmReceiver"
android:process=":remote"
/>
的问题是在的onReceive ..第一次 “checkedIndex” 字段是正确的。第二次,如果checkedIndex在radioButton更改时更新,但它返回第一个值。价值似乎并没有得到更新...