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

Using single SearchView in Activity, for different fragments

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

嗯,这是可能的。

首先使用“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;
        }
    });
}

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

从片段方法你可以做任何你想做的事情。