在recyclerview中滚动到顶部加载更多数据

时间:2019-02-20 20:04:57

标签: android android-recyclerview

我试图像Whatsapp聊天一样在滚动条上加载更多数据到顶部recyclerview。 我的适配器包含多个视图
我从sqlite加载几行以在recyclerview中显示,并在滚动顶部时加载更多数据。 当我加载更多数据时,应用程序崩溃了

02-20 22:57:01.324 6833-6833/ E/AndroidRuntime: FATAL EXCEPTION: main
Process: , PID: 6833
java.lang.NullPointerException
    at .adapters.PrivateChatAdapter$ViewHodler.setSenderMsg(PrivateChatAdapter.java:208)
    at .adapters.PrivateChatAdapter.onBindViewHolder(PrivateChatAdapter.java:124)
    at .adapters.PrivateChatAdapter.onBindViewHolder(PrivateChatAdapter.java:46)

linearlayoutmanger为linearLayoutManager.setStackFromEnd(true);

0     <---- i want to load the new data here
1
2    
3
4    
5
6

当我将新数据添加到arraylist

arrayMsgs.add(0, new PrivateMsg.Builder(PrivateMsg.LOADING_MORE_MSG, 0, true).build());
privateChatAdapter.notifyItemInserted(0);

重复位置0的旧项目

1 个答案:

答案 0 :(得分:1)

我已经通过如下重置适配器来解决了这个问题:

recyclerview.setAdapter(privateChatAdapter);

将数据添加到arraylist中的零位置之后
可能是因为视图项存储在recyclerview的缓存中