解决ListView异步加载数据之后不能点击的问题
2013-05-13 09:49
519 查看
在ListView的onScroll事件中执行异步加载数据,然后使用notifyDataSetChange()函数更新适配器,之后发现listView不能点击了,这问题苦恼了我半天。最后在一篇博文中发现调用listView的requestFocusFromTouch()函数终于解决了这问题。
Java代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/23/2bf178319075eb172bfbb2ae0a2b91a8.png)
case LOADAPPNEXT:
dismissDialog();
this.appLoadingList.addAll((List<AppItemList>) msg.body);
onScrolltimes++;
runOnUiThread(new Runnable() {
public void run() {
adapter.notifyDataSetChanged(); listView.requestFocusFromTouch();
}
});
showToast(msg.extra);
break;
问题最终得到了解决,但是原因本人不是特别清楚,说说本人的拙见,欢迎拍砖!
android系统会对每一个运行的UI线程提供缓存机制,也就是说我们在使用诸如listView这种需要异步更新的控件时候,在notifyDataSetChange()之后,务必要记得唤醒或者说是重置你的onItemClickListener。
Java代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/23/2bf178319075eb172bfbb2ae0a2b91a8.png)
case LOADAPPNEXT:
dismissDialog();
this.appLoadingList.addAll((List<AppItemList>) msg.body);
onScrolltimes++;
runOnUiThread(new Runnable() {
public void run() {
adapter.notifyDataSetChanged(); listView.requestFocusFromTouch();
}
});
showToast(msg.extra);
break;
问题最终得到了解决,但是原因本人不是特别清楚,说说本人的拙见,欢迎拍砖!
android系统会对每一个运行的UI线程提供缓存机制,也就是说我们在使用诸如listView这种需要异步更新的控件时候,在notifyDataSetChange()之后,务必要记得唤醒或者说是重置你的onItemClickListener。
相关文章推荐
- jQuery在异步请求数据返回后,调用$("selector").html(data.content);之后因为一些特殊字符或者',"不能显示内容的问题解决办法
- 解决ListView异步加载数据完成后点击无响应
- 关于使用Iscroll.js异步加载数据后不能滑动到最底端的问题解决方案
- vb.net中利用双缓冲绘图技术解决listview加载数据闪烁的问题
- android中ListView点击和里边按钮或ImageView点击不能同时生效问题解决
- 解决一切listview或者adapter等类似的数据错误,点击错误的问题。
- GridView异步加载中一次加载完所有数据问题的解决以及其原因分析
- Listview异步加载缓存图片,解决快速滑动问题
- listview中使用checkbox滑动或者加载更多数据错乱问题解决方案
- 关于bxslider在点击左右按钮之后不能自动切换的问题解决
- android开发中解决ListView异步加载图片错位问题
- bootStrap异步加载数据(动态加载数据)一二级菜单点击失效的解决办法
- android中ListView点击和里边按钮点击不能同时生效问题解决
- ListView优化使用imageLoader下载和缓存图片,图片异步加载,解决图片多了之后容易卡顿。
- android中ListView点击和里边按钮点击不能同时生效问题解决
- android中ListView异步加载图片时的图片错位问题解决方案
- 解决ListView异步加载图片错乱问题 .
- android中ListView点击和里边按钮或ImageView点击不能同时生效问题解决
- Listview异步加载缓存图片,解决快速滑动问题
- listView异步加载图片导致图片错位、闪烁、重复的问题的解决