搜索结果不匹配时,android中没有数据吐司

Posted

技术标签:

【中文标题】搜索结果不匹配时,android中没有数据吐司【英文标题】:No data toast in android while search results do not match 【发布时间】:2019-03-27 13:37:28 【问题描述】:

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

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

@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;

            



        
    ;

【问题讨论】:

【参考方案1】:

你也应该这样做

  filterResults.count = recentUserArrayListArrayListTemp.size();

在你的performFiltering

【讨论】:

我会在这个评论中问你其他问题好吧。你会帮我吗? @Elisha OK 继续 :) if (id == R.id.change_language) if (language.equals("ne")) setLocale("en");重新创建(); else setLocale("ne");重新创建();在上面的代码中,代码位于导航活动的 onNavigationItemSelected(MenuItem item) 内。唯一的问题是,如果我重新创建 NavDrawer 关闭并且如果我不重新创建,则不要刷新语言选择。现在我想从 NavDrawer 更改语言,并且抽屉应该保持打开状态。请帮助我。 @Elisha 你能在一个单独的问题中问这个问题,以便我可以问你更多细节来回答它吗?完成后评论问题链接:) 让我们continue this discussion in chat。

以上是关于搜索结果不匹配时,android中没有数据吐司的主要内容,如果未能解决你的问题,请参考以下文章

吐司工作室创始人宣讲会总结

数据表搜索标题搜索列上的完全匹配

如何在android小部件中单击图像按钮显示吐司

手机卫士06_挂电话拦截短信,资产目录_来电去电_自定义吐司

执行查询搜索以匹配字符而不是确切的单词。

android 联系人搜索