android - 当我在 viewpager 中更改片段时,如何在工具栏上的 searchview 上保留文本?
问题描述
说明:嗨,开发人员,我将在这里解释所有场景。我有一个活动,我放置了 viewpager,viewpager 分别显示了所有三个片段。即 FragmentA、FragmentB 和 FragmentC。我还分别将搜索视图放在每个片段上。考虑当我在 FragmentA 中并在 FragmentA 的 SearchView 上添加一些文本并从右向左滑动屏幕时它会显示 FragmentB 的情况。到目前为止,一切正常。当我回到 fragmentB 到 FragmenntA SearchView 文本在 SearchView 中清理并根据之前的可搜索项列出显示。即使它不刷新 RecyclerView 项。
这是 FragmentA 的代码
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_refresh, menu);
Log.e(TAG,"DONE");
menu.findItem(R.id.action_refresh).setVisible(false);
SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
searchView.setQueryHint("Search Make");
searchView.setMaxWidth(Integer.MAX_VALUE);
searchView.setIconifiedByDefault(true);
searchView.setFocusable(true);
searchView.setIconified(false);
searchView.requestFocusFromTouch();
// listening to search query text change
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
// filter recycler view when query submitted
makeAdapter.getFilter().filter(query);
return false;
}
@Override
public boolean onQueryTextChange(String query) {
// filter recycler view when text is changed
makeAdapter.getFilter().filter(query);
return false;
}
});
super.onCreateOptionsMenu(menu, inflater);
}
在上面的代码中,我全局声明了 searchView 对象。
问题:当我从任何片段返回到 FragmentA 时,如何在 SearchView 上保留可搜索文本?当我从任何片段返回到 FragmentA 时,如何根据搜索文本刷新列表视图?
请给我一个合理的解决方案。
解决方案
推荐阅读
- html - 如何使跨度转到下一行
- c++ - AutoHotkey 之类的程序如何防止 Windows 热键?
- ios - Flutter ios app在发布模式下显示白屏?
- ios - 应用元数据因 Core NFC 而被拒绝,但未在应用代码或 pod 代码中的任何地方使用
- c - 带有指针的语句似乎缺少运算符
- javascript - 如何在反应中导出两个默认值?其中一个需要连接,另一个不需要
- typescript - 使用 socket.io 客户端在 typescript 中生成 Rollup js 包时出错,“'io' 未导出(...”
- javascript - 我如何使用数组 some 和 map 函数制作大小写检查器?
- android-studio - 生成aab和apk
- javascript - JQuery 滑块未显示在车把中