首页 > 解决方案 > 如何根据 Fragment 区分 SearchView 提交的操作?

问题描述

我的应用程序中有多个片段。我想在可能的应用程序中添加搜索功能。当我在工具栏中添加搜索视图时,侦听器位于 MainActivity 中。问题是当我提交查询时,每个片段的操作都是相同的。我可以区分每个片段的动作吗?怎么做?

标签: androidandroid-fragmentssearchviewsearch-suggestion

解决方案


首先,我猜你已经SearchView通过菜单添加了in Activity。

如果是这样,那么您可以在每个片段中实现菜单而不是 Activity。然后您可以获得每个片段的搜索功能。

要启用Option Menu片段,您必须onCreate像下面这样覆盖:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
}

然后你必须 onCreateOptionsMenu像下面这样膨胀你的菜单:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    // TODO Add your menu entries here
    super.onCreateOptionsMenu(menu, inflater);
}

推荐阅读