簡體   English   中英

如何在不同片段的頂部欄中更改菜單項?

[英]How can I change menu items in top bar in different fragments?

我使用 MaterialToolBar 來顯示 TopAppBar。 我有三個片段,在顯示每個片段時,我想在頂部菜單中顯示不同的項目。 怎么做?

試試這個代碼

<com.google.android.material.appbar.MaterialToolbar
        android:id="@+id/toolbar"
        android:layout_width="0dp"
        android:layout_height="?attr/actionBarSize"
        app:navigationIcon="@drawable/ic_menu"
        app:menu="@menu/main_menu"/>

然后這個

toolbar.setOnMenuItemClickListener {
            // .. DO SOMETHING HERE
            false
        }

而不是toolbar.setOnMenuItemClickListener你需要使用這個:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.game_menu, menu);
    return true;
}

有關更多信息,請查看答案。

每次需要更改菜單時都需要擴充不同菜單資源的快速概覽。 您還需要為需要執行的自定義操作設置OnOptionsItemSelected

您可能還需要為片段setHasOptionsMenu(true);添加它setHasOptionsMenu(true); 在您的 onCreate 方法中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM