RecyclerView不用构造方法传数据源

当我们使用RecyclerView不想要 适配器(Context,mDatas)。
我们可以在Adapter的getItemCount运用上我们的三目运算符。
mDatas == null ? 0: mDatas.size()
列子

    @Override
    public int getItemCount() {
        return mData == null ? 0: mData.size();
    }
    

这样子当你的Adapter还没有设置数据源的时候,返回的是0。列表空空如也不会闪退。
java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference

第二种方法

在你Adapter的构造方法里面为你的列表进行初始化操作。

public AppInfoAdapter(Context context) {
        this.context = context;
        mData = new ArrayList<AppBean.Text>();
    }

然后getItemCount方法可以写mData.size或者第一种方法的三目运算符。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容