フラグメント毎に固有のメニューを表示

タブやボトムバーなどフラグメントで画面を切り替える場合に、ActivityではなくFragmentでメニューを操作する場合

    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
 
         setHasOptionsMenu(true);
 
   }
 
   @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.menu_hoge, menu);
        super.onCreateOptionsMenu(menu, inflater);
    }
 
   @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_hoge) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }    

Activityでもmenuをinflateしている場合は、Activityのメニューの次にFragmentのメニューが並びます。 orderInCategoryの値はふたつのメニューアイテムに渡っては効いてソートしてはくれないようです。

android/tips/menu_by_fragments.txt · 最終更新: 2016/08/23 11:10 by enibloadmin
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0