使用片段在工具栏中实现SearchView

时间:2016-01-22 08:51:52

标签: android android-fragments navigation-drawer searchview

CURRENT SCENARIO

我的应用主页包含导航抽屉,因此我将视图加载为片段。我在工具栏中也有搜索图标。我在 menu.xml 中实现了它。下一步,我通过回答此问题,为搜索图标实施了SearchView Implementing search in Toolbar

这在搜索视图显示时工作正常,也可以被解雇。

问题

我可以为搜索视图实现搜索查询,但我无法理解如何继续。 问题是onCreateOptionsMenu位于Activity,搜索视图的所有代码都位于Activity。 我不明白的是,必须搜索的数据位于Fragment类中加载的Activity中。我将点击另一个网络服务来获取搜索结果,但我将如何再次对Fragment中的搜索数据进行通知。在这种情况下,我无法理解如何处理。

1 个答案:

答案 0 :(得分:10)

将其放入您的片段

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

您可以获得 SearchView ,如下所示

@Override
public void onPrepareOptionsMenu(Menu menu) {
    MenuItem mSearchMenuItem = menu.findItem(R.id.mi_search);
    SearchView searchView = (SearchView) mSearchMenuItem.getActionView();
}