APP打开后如上图,是使用的viewpager+Fragment的结构,在消息页面有个listview,在每次进入消息页面的时候从网络获取聊天数,并更新显示。
以前版本在这里获取聊天数据的时候使用不可消除的loading框,使得在网络通信之前不可以切换页面,一切正常。
现在吧loading框去掉了,改为给listview增加一个footerview显示加载中...来表示正在加载数据。但是出现一个问题,在消息页面切换的时候就会崩溃,不是每次都崩溃。
消息页面切换是指:进入消息页,立刻离开,然后再进入消息页,立刻离开,反复循环。有时候一两次就崩溃,有时候几十次才崩溃。崩溃信息有两种1:The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. Make sure your adapter calls notifyDataSetChanged() when its content
有时候是:
2:java.lang.IndexOutOfBoundsException: Invalid index N, size is 1 。 N为任意数。
请问这种情况下如何避免以上问题?
PS:网络通信库是用的OkHttp 3.6.0
解决方案 »
- 真机测试出现的一个异常,肿么办呢?
- Android项目运行不起来也不报错,什么原因
- RadioGroup
- No resource identifier found
- 如何添加分享按钮???
- 关于安卓
- android opencv 下导入#include<opencv2/opencv.hpp>Unresolved inclusion
- Android ConnectivityManager.CONNECTIVITY_ACTION延时
- 安卓shell脚本执行报错。
- Mac电脑下使用Android studio 打开模拟器8.0模拟器无法打开
- 安卓App开发设置权限
- 两个相同的XML的后台可以用相同的方法名吗
这消息不该用Socket长连接么,你这不回到消息界面就不知道有没有新消息了吧或者一直停在消息界面不刷新就不收消息了?
这消息不该用Socket长连接么,你这不回到消息界面就不知道有没有新消息了吧或者一直停在消息界面不刷新就不收消息了?
就是个比较简陋的消息功能,实际上更类似于留言。所以没有用长连接,用的是每次进入获取。内容是不是消息不要在意啊,你可以吧他当做其他的东西嘛