我配置了选项菜单,其中一项用于在后台启用服务。
当动作发生时,我正在更改项目标题,从#34;启用服务"到"禁用服务"并相应地设置一个布尔值。
问题在应用关闭然后重新加载课程时开始。布尔值将重置为初始值。
我想知道的是:
答案 0 :(得分:0)
如果您想存储原始值,那么最佳做法是使用共享首选项,然后当用户关闭应用程序时,您可以将该值存储在共享首选项中,然后在用户下次打开应用程序时可以简单地从共享偏好中获取价值。
通过使用单个菜单项,您可以根据从共享首选项获取的值来处理“启用服务”和“禁用服务”两项操作。
答案 1 :(得分:0)
1。)将它们保持在同一个地方,同时具有不同的图标/名称,彼此可区别地相互关联。例如(开/关)名称/图标。
2。)使用共享首选项将是一种方法,因为您只存储原始值。它比使用sqlite更快。
答案 2 :(得分:0)
我做那样的事情 加载活动时..
WHERE
当你点击菜单项然后..
SharedPreferences sharedPreferences;
static int currentAction;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setting);
SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences("MyAction", Context.MODE_PRIVATE);
if (sharedPreferences.getInt("Action", 0) == 0) { // 0 for Enable Service
// set menu as Enable
currentAction = 0;
} else { // 1 for Disable service
// set menu as Disable
currentAction = 1;
}
}
希望它的帮助...... !!