设置toolbar menu的两种方式,以及onCreateOptionsMenu不执行的原因

toolbar设置menu菜单两种方式:
第一步:setSupportActionBar(toolbar)
第二步:supportActionBar?.setDisplayHomeAsUpEnabled(true)

第三步:override fun onCreateOptionsMenu(menu: Menu?): Boolean {
    DBUtils.lastUser?.let {
        if (it.id.toString() == it.last_authorizer_user_id)
            if (currentShowPageGroup) {
                menuInflater.inflate(R.menu.menu_rgb_group_setting, menu)
            } else {
                menuInflater.inflate(R.menu.menu_rgb_light_setting, menu)
                findItem = menu?.findItem(R.id.toolbar_f_version)
                findItem?.title = getString(R.string.getVsersionFail)
                findItemChangeGp = menu?.findItem(R.id.toolbar_fv_change_group)
                findItemChangeGp?.isVisible = true
            }
    }
    LogUtils.v("zclmenu------------------$localVersion-----${DBUtils.lastUser}")
   return super.onCreateOptionsMenu(menu)
}

第四步:override fun onPrepareOptionsMenu(menu: Menu?): Boolean {//用于添加监听 return super.onPrepareOptionsMenu(menu) }

实现toolmenu第二种方式

toolbar.inflateMenu(R.menu.menu_rgb_light_setting)

val item = toolbar.menu.getItem(R.id.toolbar_f_rename)//获取item进行重新赋值
toolbar.setOnMenuItemClickListener(menuItemClickListener)

注:如果使用的第二种方式 onCreateOptionsMenu不执行,如果需要onCreateOptionsMenu执行就需要实现第一种方式的前两步,以上均为自己发现不执行onCreateOptionsMenu的个别原因

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值