Android - 共享首选项不会加载我的选项

时间:2016-01-29 21:53:22

标签: android sharedpreferences settings user-input

我在弹出窗口中有四个按钮(ImageView),每个按钮会将服务类中按钮的颜色更改为所需的颜色。当我点击其中一个按钮时,它会改变颜色,但是当我从应用程序退出时再次启动它,我的选项就不会被保存。

 //Inner class inside my MainActivity 
 public static class  SetReng {

  static  int reng;


    public  SetReng() {

    }



    public int getReng() {
        return this.reng;
    }
}

public void onGreen (View view) {
    SetReng.reng = Color.GREEN;
    ImageView Green = (ImageView)view.findViewById(R.id.kesk);
    Green.setPressed(true);
    Toast.makeText(MainActivity.this, "Bloq color set to green", Toast.LENGTH_SHORT).show();


    editor.putInt("Which", SetReng.reng);
    editor.apply();


}

以下是我的服务中应加载颜色选项的代码

    SetReng putReng = new SetReng();
    int theReng= putReng.getReng();

    SharedP= PreferenceManager.getDefaultSharedPreferences(context);
    int colorOp= SharedP.getInt("Which", theReng);



    mButtondeh= new Button(this);
    mButtondeh.setBackgroundColor(colorOp);

我做错了什么?

我在最近几天坚持这一点,所以任何事情都会受到赞赏!

2 个答案:

答案 0 :(得分:0)

尝试使用

...
editor.putInt("Which", SetReng.reng);
editor.commit(); // instead of apply
...

答案 1 :(得分:0)

我通过用getSharedPreference()替换getReference()管理器来解决它,在我的服务中,我更改了PreferenceManager.getDefaultSharedPreferences(context);到SharedP = getSharedPreferences(PREFS_NAME,MODE_PRIVATE);现在它完美无缺!