2013-07-07 68 views
0

我希望能够在选择菜单项后禁用它。也就是说,菜单项仅在第一次设置时可用。然后,它应该完全禁用。我怎样才能做到这一点?在android中永久禁用菜单

我试过如下:

MenuItem mi=menu.findItem(R.id.item1)); 

而且用这个代码“firstrun”后,将其禁用

mi.setEnabled(false); 

但是,一旦我强制停止应用程序,并再次回去吧。该菜单项已启用。 如何防止并禁用它?

谢谢。

+2

线索检索共享偏好 - sharedPreferences。 Google是你的朋友。 – Simon

回答

3

您必须将数据保存在某处。在这种情况下,我建议使用Shared Preferences这是存储简单的布尔值和其他小数据的首选方法,每个数据都有一个特定的键。在你的情况下,一旦用户点击该菜单项,调用

// Where this is a Context such as your Activity 
SharedPreferences sp = PreferenceManager.getSharedPreferences(this); 
sp.edit().putBoolean("MENU_CLICK", true).apply(); 
// Use commit() in place of apply() if you support pre-Gingerbread devices 

然后在你的onPrepareOptionsMenu(),通过使用

SharedPreferences sp = PreferenceManager.getSharedPreferences(this); 
// default false to show on first run 
final boolean haveClickedMenu = sp.getBoolean("MENU_CLICK", false); 
mi.setEnabled(!haveClickedMenu);