Android Searchview活动更改片段内容
我一直在学习本教程,它教我如何过滤recyclerview内容 但我们有不同的实现方式 我想要的应用程序有一个活动,该活动有一个搜索视图,搜索片段recyclerview,而他的只有一个活动 这是我的代码: 家庭活动Android Searchview活动更改片段内容,android,android-recyclerview,searchview,Android,Android Recyclerview,Searchview,我一直在学习本教程,它教我如何过滤recyclerview内容 但我们有不同的实现方式 我想要的应用程序有一个活动,该活动有一个搜索视图,搜索片段recyclerview,而他的只有一个活动 这是我的代码: 家庭活动 FragmentSearch fs; fs = new FragmentSearch(); @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflat
FragmentSearch fs;
fs = new FragmentSearch();
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.search_menu, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setOnQueryTextListener(this);
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
return fs.filterHandler(newText);
}
碎片搜索
public boolean filterHandler(String newText){
newText = newText.toLowerCase();
ArrayList<Product> newList = new ArrayList<>();
for(Product product: productArrayList){
String name = product.getName().toLowerCase();
if(name.contains(newText)){
newList.add(product);
}
}
adapter.setFilter(newList);
return true;
}
公共布尔过滤器句柄(字符串newText){
newText=newText.toLowerCase();
ArrayList newList=新的ArrayList();
for(产品:productArrayList){
字符串名称=product.getName().toLowerCase();
if(name.contains(newText)){
添加(产品);
}
}
adapter.setFilter(newList);
返回true;
}
不同之处在于OnQueryTextSubmit,我尝试在片段中创建一个方法来接受用户查询
错误:
07-12 13:54:52.038 6262-6262/com.example.earlcscabanig.thestoreapp E/dalvikvm:找不到从方法android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering引用的类“android.graphics.drawable.RippleDrawable”
07-12 13:54:56.948 1086-1479/系统/进程E/声音池:加载错误/系统/媒体/音频/用户界面/效果
07-12 13:54:56.948 1086-1479/系统/进程E/声音池:加载错误/系统/媒体/音频/用户界面/效果
07-12 13:54:56.958 1086-1479/系统/进程E/声音池:加载错误/系统/媒体/音频/用户界面/效果
07-12 13:54:56.978 1086-1479/系统/进程E/声音池:加载错误/系统/媒体/音频/用户界面/效果
07-12 13:54:56.978 1086-1479/系统/进程E/声音池:加载错误/系统/媒体/音频/用户界面/效果
07-12 13:54:56.988 1086-1479/system_进程E/声音池:加载错误/system/media/audio/ui/KeyPress Standard.ogg
07-12 13:54:57.008 1086-1479/system_进程E/声音池:加载错误/system/media/audio/ui/Keypress Spacebar.ogg
07-12 13:54:57.018 1086-1479/系统\进程E/声音池:加载错误/system/media/audio/ui/KeypressDelete.ogg
07-12 13:54:57.018 1086-1479/系统\进程E/声音池:加载错误/system/media/audio/ui/KeypressReturn.ogg
07-12 13:54:57.038 1086-1479/系统\进程E/声音池:加载错误/system/media/audio/ui/KeypressInvalid.ogg
07-12 13:54:57.058 6262-6262/com.example.earlcscabanig.thestoreapp E/AndroidRuntime:致命异常:main
进程:com.example.earlcscabanig.thestoreapp,PID:6262
java.lang.NullPointerException
位于com.example.earlcscabanig.thestoreapp.FragmentSearch.filterHandler(FragmentSearch.java:82)
在com.example.earlcscabanig.thestoreapp.HomeActivity.onQueryTextChange(HomeActivity.java:144)上
有一个空指针以及无法找到类“android.graphics.drawable.RippleDrawable”,该类引用自方法android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering带有RecyclerView适配器的用户。这是使用RecyclerView筛选数据的最佳方法。下面是一些演示示例