我的class
扩展 RecyclerView.Adapter< ...>
@Override
public int getItemCount() {
return arrayListPacks == null ? 0 : arrayListPacks.size();
// return 5;
}
要在ArrayList
中仅获取 5条记录,我使用过:
return 5;
但是,当没有找到记录时,我得到NullPointer
例外。
那么,我该如何处理此异常?
我想显示最多5个记录,如果存在其他处理 NPE
答案 0 :(得分:1)
尝试做这样的事情
@Override
public int getItemCount() {
return arrayListPacks == null ? 0 : (arrayListPack.size() > 5? 5: arrayListPacks.size());
}
所以如果列表> 5只返回5,否则,返回大小。
但是对于nullpointerexception,你需要检查logcat,你会发现它发生的地点和原因。检查初始化适配器的位置并给出列表。
答案 1 :(得分:0)
试试这个..:)
@Override
public int getItemCount() {
return arrayListPacks == null ? Collections.<ClassName> emptyList().size(): arrayListPacks.size();
}
答案 2 :(得分:0)
我同意ManthanB,因为null Arraylist意味着集合名称arrayListPacks指向未分配的位置null。这与指向其中没有任何内容的有效分配位置完全不同。所以使用ArrayList分配arrayListPacks = new ArrayList();现在arrayListPacks将公开添加新元素的方法