我在弹出窗口中有四个按钮(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);
我做错了什么?
我在最近几天坚持这一点,所以任何事情都会受到赞赏!
答案 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);现在它完美无缺!