从片段启用/禁用optionmenu项

时间:2017-09-18 12:10:23

标签: android android-fragments android-optionsmenu

伙计们我可以从片段内的按钮禁用/启用optionmenu项吗?在我的项目中,我想从片段成功登录后禁用特定的菜单项。示例我在片段布局中有这个Enter(按钮),一旦用户名和密码正确,我想要的是禁用登录选项菜单项。伙计们,你能给我一些关于如何编码的例子吗?非常感谢你们! :')

2 个答案:

答案 0 :(得分:0)

如果要更改菜单,请致电InvalidateOptionsMenusupportInvalidateOptionsMenu

https://developer.android.com/reference/android/support/v4/app/FragmentActivity.html#supportInvalidateOptionsMenu()

这将导致OnPrepareOptionsMenu被调用,您可以在其中对菜单进行任何更改。例如,如果您已经登录,请禁用或隐藏“登录”选项。

https://developer.android.com/reference/android/app/Activity.html#onPrepareOptionsMenu(android.view.Menu)

答案 1 :(得分:0)

是的,您可以从片段启用/禁用optionmenu项。在片段中覆盖这些方法。

@Override
public void onAttach(Context context) {
        super.onAttach(context);
        setHasOptionsMenu(true);
}

@Override
public void onPrepareOptionsMenu(Menu menu) {
        super.onPrepareOptionsMenu(menu);
        menu.findItem(R.id.menuItem1).setEnabled(false/true);
}