搜索结果不匹配时,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中没有数据吐司的主要内容,如果未能解决你的问题,请参考以下文章