Attempt to invoke virtual method 'boolean java.util.ArrayList.add(java.lang.Object)' on a null objec

报错代码

java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.util.ArrayList.add(java.lang.Object)' on a null object reference
        at com.race604.flyrefresh.sample.Activity.RecyclerViewExample$3.onClick(RecyclerViewExample.java:138)

解决办法
增加了一个ArrayList 动态数组作为中间数组
源码:

backlogList = new ArrayList<Backlog>();
        if (backlogListTemp != null) {
            ListIterator<Backlog> listIterator = backlogListTemp.listIterator();
            while (listIterator.hasNext()){
                backlogList.add((Backlog) listIterator.next());
            }
        }
        mAdapter = new RecyclerViewAdapter(this, backlogList);

问题描述:
1,这情况我遇到过;解决办法相同;
2,实验证明和实例化和赋初值无关;
3,最先报错是再适配器中的getItemCount(),也是空指针异常。

 java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
        at com.race604.flyrefresh.sample.adapter.RecyclerViewAdapter.getItemCount(RecyclerViewAdapter.java:147)

@Override
public int getItemCount() {
return mDataset.size();
}
尝试修改为if(mDataset ==null){return 0},能进入,但是添加item后崩溃。
求解:
1,为何要添加一个中间的ArrayList
2,RecycleView 和其他ListView的getView方法区别大吗(在getItemCount()方面)?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值