【问题标题】:Implementing SearchView in Toolbar with Fragments使用 Fragments 在 Toolbar 中实现 SearchView
【发布时间】:2016-04-28 19:18:37
【问题描述】:

当前情景

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

这在搜索视图显示时运行良好,也可以关闭。

问题

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

【问题讨论】:

  • My app home page consists of navigation drawer, therefore I am having views loaded as fragments. 不,DrawerLayout 不需要使用Fragments
  • 我认为最好的做法是这样做
  • 谁说的?你在哪里读到的?
  • 我们在培训中学到了这一点

标签: android android-fragments navigation-drawer searchview


【解决方案1】:

把它放在你的片段中

@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();
}

【讨论】:

  • 我会在 searchview 中获得文字吗?我是否必须实现 textChangeListener
  • 在searchview上实现一个查询文本监听器如下:searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener())
  • 导航到片段时出现 superNotCalled 错误
  • return super.onPrepareOptionsMenu(menu);在 onPrepareOptionsMenu 结束时
  • 这是一个void方法它怎么能返回?
猜你喜欢
  • 2016-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-08
  • 2011-07-23
  • 1970-01-01
  • 2017-11-02
相关资源
最近更新 更多