代码之家  ›  专栏  ›  技术社区  ›  nyarian

当backstack中的片段可见,但旧的菜单对象仍然存在时,调用onCreateOptionsMenu

  •  0
  • nyarian  · 技术社区  · 6 年前

    当我用一个 SearchView MenuItem 搜索框 expandactionView() 同时设置 OnQueryTextListener . 当这个碎片 搜索框 搜索框 执行, onCreateOptionsMenu 当然是被打电话了。 古老的 搜索框 这里有一个代码 OnCreateOptions菜单 “搜索”片段:

    override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) {
        menu?.clear()
        inflater!!.inflate(R.menu.menu_scenarios, menu)
        val menuItem: MenuItem = menu!!.findItem(R.id.action_search)
        val searchView: SearchView = menuItem.actionView!! as SearchView
        view.withSearchView(menuItem, searchView)
        addOnQueryListener(searchView)
        setSignalingExpandListener()
    }
    

    我打电话的时候 expandActionView() MenuItemImpl 正在被扩展,而旧的,为什么会被保留,在屏幕上没有展开。随后,当我点击搜索图标后,它是旧的 菜单项 如何解决这个问题?我需要一张单人床

    P、 视图只是屏幕上可见元素的“代理”对象。内部 withSearchView 工作原理如下:

    fun withSearchView(menuItem: MenuItem, searchView: SearchView) {
        this.menuItem = menuItem
        this.searchView = searchView
    }
    
    0 回复  |  直到 6 年前