两个动作的一个菜单项

时间:2015-05-04 07:42:55

标签: android menuitem optionmenu

我配置了选项菜单,其中一项用于在后台启用服务。

当动作发生时,我正在更改项目标题,从#34;启用服务"到"禁用服务"并相应地设置一个布尔值。

问题在应用关闭然后重新加载课程时开始。布尔值将重置为初始值。

我想知道的是:

  1. 使用一个项目菜单根据其状态执行不同操作的最佳做​​法是什么。
  2. 将布尔值保持在最后状态的最佳做法是什么? (共享偏好?)

3 个答案:

答案 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;
    }

}

希望它的帮助...... !!