显示菜单,无需调用setSupportActionBar

时间:2019-07-10 06:56:04

标签: android android-fragments android-toolbar

我的活动

import androidx.appcompat.widget.Toolbar;

Toolbar mToolbar = (Toolbar) findViewById(R.id.toolBar);
setSupportActionBar(mToolbar );

由于所有带有父级活动的片段,成功调用方法onCreateOptionsMenu()

在我的片段中:

private MenuItem checkStateMenuItem;
  @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.cart_pay_menu_actionbar, menu);
        checkStateMenuItem = menu.getItem(0);
        super.onCreateOptionsMenu(menu, inflater);
    }

作为结果,显示片段时,在工具栏成功显示菜单中。 很好。

问题是:

不调用方法setSupportActionBar()时是否可以在工具栏中显示菜单?或者,也许还有其他一些选项可以自动呼叫onCreateOptionsMenu

1 个答案:

答案 0 :(得分:0)

只需直接使用工具栏API,就可以使用onCreateOptionsMenusetSupportActionBar方法来简化ActionBar和Toolbar之间的转换。

 toolbar.post {
        inflateMenu()
        toolbar.setNavigationIcon(R.drawable.ic_baseline_arrow_back_24)
        toolbar.setNavigationOnClickListener {
            requireActivity().onBackPressed()
        }
    }

private fun inflateMenu() {
    toolbar.inflateMenu(R.menu.product_menu)
    val menu = toolbar.menu
}