【问题标题】:Android : SharedPreferences in BroadcastReceiver RadioButton's integer value do not update?Android:BroadcastReceiver RadioButton 的整数值中的 SharedPreferences 不更新?
【发布时间】:2014-04-16 08:19:22
【问题描述】:

我有活动来更改单选按钮。

在oncreate方法中

     sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
     radioGroup = (RadioGroup)findViewById(R.id.radiogroup);
     radioGroup.setOnCheckedChangeListener(radioGroupOnCheckedChangeListener);

实现被覆盖的方法并让 Radiobutton 保存共享首选项

 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..
     }

现在当接收警报接收器扩展广播接收器

@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”字段是正确的。第二次,如果在radioButton change 时更新了checkedIndex,则返回第一个值。该值似乎没有更新...

【问题讨论】:

    标签: android radiobuttonlist


    【解决方案1】:

    这里AndroidMainifest.xml文件中的receiver值改...

     <receiver 
        android:name="AlarmReceiver" 
                />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多