所以,我有一个正在使用抽屉菜单和一些片段的应用程序.但是,当片段我在一个片段,有一个菜单,它完全阻止了我的抽屉菜单,即使汉堡图标仍然可见.
的数据
但是,当我按下返回按钮并退出当前Fragment时,抽屉式菜单再次工作。似乎fragment中的菜单阻止了抽屉式菜单。下面是我将菜单提供程序添加到fragment中的代码:
val menuHost: MenuHost = requireActivity()
menuHost.addMenuProvider(
this,
viewLifecycleOwner,
Lifecycle.State.RESUMED
)
字符串
下面是我的菜单膨胀代码:
menuInflater.inflate(R.menu.main_menu, menu)
val myActionMenuItem = menu.findItem(R.id.btn_search_menu)
val searchView = myActionMenuItem.actionView as SearchView?
searchView?.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String?): Boolean {
(context?.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager)
.hideSoftInputFromWindow(view?.windowToken, 0)
return true
}
override fun onQueryTextChange(newText: String?): Boolean = false
})
型
1条答案
按热度按时间ztyzrc3y1#
我刚刚找到了正确的答案,如果你想让
AppBarConfiguration
再次处理导航点击,你需要在onMenuItemSelected
中返回false
。这是说我们现在把菜单点击事件的处理传递回Jetpack组件。字符串
在Activity中,没有任何变化,您仍然需要像这样覆盖
onSupportNavigateUp
型