我需要在我的Android应用程序中实现一个搜索界面,该界面将过滤ViewPager
内的多个RecyclerView
。
我已经实现了EditText
和SearchView
小部件,并尝试查看差异。
我插播的听众是:
myEditText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {}
});
和:
mySearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
textView.setText(newText);
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
textView.setText(query);
return true;
}
我是否缺少一些
SearchView
允许而EditText
不允许的重要功能?
使用这两个小部件,我是否可以使用单个"搜索视图"在
ViewPager
内部RecyclerView
中搜索?
我不想要搜索的ACTION_SEARCH
或任何添加的对话框视图。
提前感谢!
Edittext
和SearchView
之间的主要区别在于,您可以使用SearchView作为listView/RecyclerView
中搜索工具的直接实现,另一方面,如果您为此使用Edittext,则必须手动实现搜索代码。
让我为您提供这两种情况的直接链接:
此实现适用于搜索视图:
- https://www.androidhive.info/2017/11/android-recyclerview-with-search-filter-functionality/
第二个是用于编辑文本:
- https://stackoverflow.com/a/40757114/10752962
如果您使用的是搜索视图,请同时查看此链接:
- https://stackoverflow.com/a/34880830/10752962
这将使用来自 RecyclerView 的 Edittext For Search 数据与自定义实现。
现在,你必须决定哪一个更适合你,是的,告诉我我是否可以改进我的答案,或者我的答案是否未澄清。