Android 如何检查筛选的recyclerView结果是否为空?

Android 如何检查筛选的recyclerView结果是否为空?,android,android-recyclerview,Android,Android Recyclerview,实际上,我的recyclerView适配器中有一个筛选器方法,当arraylist中没有任何项时,recyclerView就会隐藏,我希望显示一个警报,而不是只显示任何项 如何检测筛选器何时返回未找到的项目 下面是来自适配器的筛选器方法 @Override public Filter getFilter() { return new Filter() { @Override protected FilterResult

实际上,我的recyclerView适配器中有一个筛选器方法,当arraylist中没有任何项时,recyclerView就会隐藏,我希望显示一个警报,而不是只显示任何项

如何检测筛选器何时返回未找到的项目

下面是来自适配器的筛选器方法

   @Override
    public Filter getFilter() {
        return new Filter() {
            @Override
            protected FilterResults performFiltering(CharSequence constraint) {
                final FilterResults oReturn = new FilterResults();
                final ArrayList<ItemModel> results = new ArrayList<>();
                if (mFilteredList == null)
                    mFilteredList = new ArrayList<>(variantiConstructors);
                if (constraint != null && constraint.length() > 0) {
                    if (mFilteredList != null && mFilteredList.size() > 0) {
                        for (final ItemModel cd : mFilteredList) {
                            if (cd.getCodiceArticolo().toLowerCase()
                                    .contains(constraint.toString().toLowerCase()))
                                results.add(cd);
                        }
                    }
                    oReturn.values = results;
                    oReturn.count = results.size(); //newly Aded by ZA
                } else {
                    oReturn.values = mFilteredList;
                    oReturn.count = mFilteredList.size(); //newly added by ZA
                }
                return oReturn;
            }

            @SuppressWarnings("unchecked")
            @Override
            protected void publishResults(final CharSequence constraint,
                                          FilterResults results) {
                variantiConstructors = new ArrayList<>((ArrayList<ItemModel>) results.values);
                notifyDataSetChanged();
            }
        };
    }

我没有检查result.values或result.count,而是检查variantiConstructor.isEmpty作为结果在任何情况下是否返回true

因此,在适配器中,我现在使用以下代码在未找到任何项时显示警报

        protected void publishResults(final CharSequence constraint,
                                      FilterResults results) {

                variantiConstructors = new ArrayList<>((ArrayList<ItemModel>) results.values);
                if(variantiConstructors.isEmpty()){
                    Alerts.alertError("NO","",mContext);
                }
                notifyDataSetChanged();
        }
protectedvoid publishResults(最终字符序列约束,
FilterResults(结果){
variantiConstructors=新的ArrayList((ArrayList)results.values);
if(variantiConstructors.isEmpty()){
Alerts.alertError(“否”、“mContext”);
}
notifyDataSetChanged();
}

publishResults()
函数中,您可以添加
if
来检查
结果。大小
。如果它等于0,则可以显示警报。否则,请更新您的RecycleServiceWtry以初始化筛选列表,并检查列表大小>0是否为空,以避免nullpointerException@cesarmarchresults.size不是一个函数。。我试图检查results.values,但什么都没有,它仍然计算所有项目
        protected void publishResults(final CharSequence constraint,
                                      FilterResults results) {

                variantiConstructors = new ArrayList<>((ArrayList<ItemModel>) results.values);
                if(variantiConstructors.isEmpty()){
                    Alerts.alertError("NO","",mContext);
                }
                notifyDataSetChanged();
        }