簡體   English   中英

僅在顯示片段時顯示導航抽屜菜單項

[英]Show navigation drawer menu item only when a Fragment is shown

我試圖在顯示片段時在操作欄中顯示按鈕,並在顯示其他片段時隱藏按鈕。

我重寫onCreateOptionsMenu方法:

@Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.main, menu);
        MenuItem item= menu.findItem(R.id.action_example);

         item.setVisible(true);

        super.onCreateOptionsMenu(menu,inflater);
    }

並使用setHasOptionMenu(true)

@Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setHasOptionsMenu(true);
        }

我進行了測試,發現按鈕最初沒有出現在另一個Fragment中,但是在打開將代碼放在上面的Fragment之后,按鈕也顯示在另一個Fragment中。

您缺少的是刪除片段的onDestroy中的optionsMenu。 您描述的行為與代碼是合乎邏輯的:創建片段時,您還會創建選項菜單。 當片段被銷毀時,它不會自動銷毀。

暫無
暫無

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

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