首页 > 解决方案 > 将适配器传递给片段

问题描述

我已将工具栏作为片段制作,现在想将回收器视图适配器传递给该片段,以便我可以在回收器视图中显示过滤器结果,谁能帮助我如何将适配器传递给片段并显示结果。这是我在回收站视图的活动中调用的工具栏片段

class toolbarFragment : Fragment() {

    override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
        ......
        if (searchView != null) {
            searchView!!.setSearchableInfo(searchManager.getSearchableInfo(activity?.componentName))
            queryTextListener = object : SearchView.OnQueryTextListener {
              ....

                override fun onQueryTextSubmit(query: String?): Boolean {
                    /**Need to apply filter on recycler view here**/
                    //RoomActivity.adapter.filter.filter(query)
                    return true
                }
            }
        }

}

这是我的活动代码

//adding toolbar
val toolbar = toolbarFragment()
val fragmentTransaction = supportFragmentManager.beginTransaction()
fragmentTransaction.replace(R.id.fragment, toolbar, toolbar.javaClass.simpleName)
fragmentTransaction.commit()

.....

adapter = roomItemsAdapter(rooms)
recycler_view.adapter = adapter
adapter.notifyDataSetChanged()

标签: androidkotlin

解决方案


这个函数用RoomDB返回列表查询,可以更新recyclerview

  override fun onQueryTextSubmit(query: String?): Boolean { return true}

推荐阅读