在Activity中使用单个SearchView,用于不同的片段

时间:2018-08-23 01:27:33

标签: android android-fragments android-recyclerview searchview

我正在尝试使用活动性工具栏菜单中的一个searchview,以同时过滤三个附加到它的片段(这是一个选项卡式活动),并将结果分类为不同的片段。有点像Instagram的方式。我曾尝试使每个片段中的onCreateOptionsMenu膨胀,但这只是开始一个新的搜索实例,即(搜索图标为.istIconified();,我希望不同的标签显示所键入内容的查询文本并同时执行搜索。似乎无法在SO上找到此解决方案,非常感谢任何帮助或资源

1 个答案:

答案 0 :(得分:0)

有可能。

首先使用“ setOnQueryTextListener

@Override
public void onPrepareOptionsMenu(Menu menu) {
    super.onPrepareOptionsMenu(menu);
    MenuItem item = menu.findItem(R.id.action_search);
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(item);

    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {
            Log.i("well", " this worked");
            return false;
        }
    });
}

之后,通过从活动中调用片段方法,将此字符串传递给当前选定的片段。 click here to check how to call fragment method from activity

通过片段方法,您可以做任何您想做的事情。