android 中没有数据 toast,而搜索结果不匹配

No data toast in android while search results do not match

我已经实现了可过滤。 我检查了 onPublished 上的过滤器结果,即 if(filterResults.count==0) 和那里的吐司,但每次 searchtext 匹配或不匹配时它都会显示吐司,请参见下面的参考,

这是我在适配器上的代码:

@Override
public Filter getFilter() {
    return new Filter() {
        @Override
        protected FilterResults performFiltering(CharSequence charSequence) {
            String charString = charSequence.toString();
            Log.d("cndbdhdh",charString);

            if (charString.isEmpty()) {

                recentUserArrayListArrayListTemp = recentUserArrayListArrayList;
            } else {

                ArrayList<MostRecentUsers.RecentUserList> filteredList = new ArrayList<>();


                for (MostRecentUsers.RecentUserList androidVersion : recentUserArrayListArrayList) {

                    if (androidVersion.getName().toLowerCase().contains(charString) || androidVersion.getPhone().toLowerCase().contains(charString) ) {

                        filteredList.add(androidVersion);
                    }


                }

                recentUserArrayListArrayListTemp = filteredList;
            }

            FilterResults filterResults = new FilterResults();
            filterResults.values = recentUserArrayListArrayListTemp;
            return filterResults;
        }

        @Override
        protected void publishResults(CharSequence charSequence, FilterResults filterResults) {



            notifyDataSetChanged();
            if (filterResults.count==0){
                Toast.makeText(activity, "no data", Toast.LENGTH_SHORT).show();


            }else { 
                recentUserArrayListArrayListTemp = (ArrayList<MostRecentUsers.RecentUserList>) filterResults.values;

            }



        }
    };
}

你也应该这样做

  filterResults.count = recentUserArrayListArrayListTemp.size();

在你的performFiltering