使用嵌入式原生广告在recyclerview中实施搜索

问题描述

我想在回收者视图中实现搜索,在该视图中,我将Object用作列表中的类,因为我将原生广告嵌入其中。

我以此为参考在回收者视图Reference中嵌入广告:-

 @Override
public Filter getFilter() {
    return new Filter() {
        @Override
        protected FilterResults performFiltering(CharSequence constraint) {
            String key = constraint.toString();
            if (key.isEmpty()){
                mDataFiltered = mData;
            }else{
                List<Object> isFiltered = new ArrayList<>();
                for ( Object n : mData){
                    if (((News) n).getName().toLowerCase().contains(key.toLowerCase())){ //throw error at this line
                        isFiltered.add(n);
                    }
                }
                mDataFiltered = isFiltered;
            }

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

        @Override
        protected void publishResults(CharSequence constraint,FilterResults results) {
            mDataFiltered = (List<Object>) results.values;
            notifyDataSetChanged();
        }
    };
}

我尝试将Object强制转换为模型类,但是它给出了此错误

java.lang.classCastException: com.google.android.gms.internal.ads.zzafx cannot be cast to com.jamuitoday.model.News
    at com.jamuitoday.adapter.RAdapter$1.performFiltering(RAdapter.java:211)
    at android.widget.Filter$RequestHandler.handleMessage(Filter.java:236)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:223)
    at android.os.HandlerThread.run(HandlerThread.java:67)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)