菜单在片段中不可见

时间:2018-04-27 08:25:18

标签: android android-fragments menu android-actionbar

我有一个片段,其中包含我尝试在setHasOptionsMenu(true);onCreate()中调用onCreateView()的菜单,并将toolbar设置为Actionbar。我在这里已经完成了所有关于相同问题的问题,但似乎没有一个解决方案适合我!我尝试更改主题menu.clear(),并从活动的onCreateOptions()返回true

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

            }


            @Override
            public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                     Bundle savedInstanceState) {

                setHasOptionsMenu(true);

                // Inflating view layout

                layout = inflater.inflate(R.layout.side_panel, container,false);
                toolbar = layout.findViewById(R.id.toolbar);

                ((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);


                 return layout;
            }


            @Override
            public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
                super.onCreateOptionsMenu(menu, inflater);
                inflater.inflate(R.menu.menu_side_panel,menu);
            }

            @Override
            public boolean onOptionsItemSelected(MenuItem item) {
                return super.onOptionsItemSelected(item);
            }

            @Override
            public void onActivityCreated(@Nullable Bundle savedInstanceState) {
                super.onActivityCreated(savedInstanceState);
            }

1 个答案:

答案 0 :(得分:1)

如果您已在XML文件中声明了工具栏,请尝试此操作 首先使用findViewByid()获取对工具栏的引用,然后对菜单进行充气

 mToolbar.inflateMenu(R.menu.main_menu);