使用 Fragments 在工具栏中实现 SearchView
Implementing SearchView in Toolbar with Fragments
当前情景
我的应用程序主页由导航抽屉组成,因此我将视图加载为片段。我在工具栏中也有搜索图标。我在 menu.xml 中实现了它。下一步我按照这个问题的答案为搜索图标实现了 SearchView
Implementing search in Toolbar.
如搜索视图所示,这工作正常,也可以关闭。
问题
我可以为搜索视图执行搜索查询,但我不明白如何进行。
问题是 onCreateOptionsMenu
在 Activity
中,搜索视图的所有代码都在 Activity
中。
我不明白的是必须搜索的数据在 Fragment
中,在 Activity
class 中加载。我将点击另一个网络服务来获取搜索结果,但我将如何再次膨胀 Fragment
中的搜索数据。我无法理解在这种情况下如何进行。
把这个放在你的片段中
@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();
}
当前情景
我的应用程序主页由导航抽屉组成,因此我将视图加载为片段。我在工具栏中也有搜索图标。我在 menu.xml 中实现了它。下一步我按照这个问题的答案为搜索图标实现了 SearchView
Implementing search in Toolbar.
如搜索视图所示,这工作正常,也可以关闭。
问题
我可以为搜索视图执行搜索查询,但我不明白如何进行。
问题是 onCreateOptionsMenu
在 Activity
中,搜索视图的所有代码都在 Activity
中。
我不明白的是必须搜索的数据在 Fragment
中,在 Activity
class 中加载。我将点击另一个网络服务来获取搜索结果,但我将如何再次膨胀 Fragment
中的搜索数据。我无法理解在这种情况下如何进行。
把这个放在你的片段中
@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();
}