I am using simple recyclerview to show list i able to filter my list but i want to show simple toast when search item is not found in my list please help me for that here is my code
for adapter class
Filter filter=new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
ArrayList<Allcontainlist> filter_list=new ArrayList<>();
if (constraint==null||constraint.length()==0){
filter_list.addAll(Alllist);
}else
{
String filter_pattern=constraint.toString().toLowerCase().trim();
for (Allcontainlist allcontainlist:Alllist){
if(allcontainlist.getRout().toLowerCase().contains(filter_pattern))
{
filter_list.add(allcontainlist);
}
}
}
FilterResults results=new FilterResults();
results.values=filter_list;
return results;
}
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
list.clear();
list.addAll((Collection<? extends Allcontainlist>) results.values);
notifyDataSetChanged();
}
};
and this code for search lists
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
inflater.inflate(R.menu.search_bar,menu);
MenuItem menuItem=menu.findItem(R.id.search_bar);
SearchView searchView = (SearchView) menuItem.getActionView();
searchView.setImeOptions(EditorInfo.IME_ACTION_DONE);
searchView.setQueryHint("Search buses");
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
if(list.contains(query)) {
alladapter.getFilter().filter(query);
}else
{
Toast.makeText(getActivity(),"Not found",Toast.LENGTH_SHORT).show();
}
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
if(TextUtils.isEmpty(newText))
{
Toast.makeText(getActivity(),"not found",Toast.LENGTH_SHORT).show();
}
else
alladapter.getFilter().filter(newText);
return false;
}
});
super.onCreateOptionsMenu(menu, inflater);
}
I have tried some example code but not working please help me for this i want to just toast when the search result is empty thank you
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
list.clear();
list.addAll((Collection<? extends Allcontainlist>) results.values);
if (list.size() == 0) {
//Here you can either use a callback(recommended) or show toast
//Toast.makeText(mContext, "No Results Matching Your Query...", Toast.LENGTH_SHORT).show();
}
notifyDataSetChanged();
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.