无法再次显示MenuItem

时间:2015-08-11 15:08:44

标签: android menu menuitem

我有一个MenuItem,当我只选择ChatListFragment的{​​{1}}时,我想让它显示出来:

FragmentTabHost

所以我在MainActivity中使它变得不可见:

<menu
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity">

    <item
        android:id="@+id/action_start_chat"
        android:icon="@drawable/ic_add_black_48dp"
        android:title="@string/action_bar_add_text"
        app:showAsAction="always"
        android:visible="true"/>

</menu>

public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); this.menu = menu; addChatItem = menu.findItem(R.id.action_start_chat); addChatItem.setVisible(false); return super.onCreateOptionsMenu(menu); } 我想要隐身,但我无法使用LoginFragment的公共元词ChatListFragment再次显示它:

MainActivity:

MainActivity

ChatListFragment:

public void setAddChatVisibility(boolean visible) {
    addChatItem.setVisible(visible);
    invalidateOptionsMenu();
    supportInvalidateOptionsMenu();
}

我该怎么做?提前谢谢。

1 个答案:

答案 0 :(得分:1)

在invalidateOptionsMenu中,在再次调用的活动中调用方法onCreateOptionsMenu(菜单菜单)后,将可见值设置为false。

你可以在片段里面使用onCreateOptionMenu here

抱歉我的英文不好