首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

解决ListView异步加载数据之后不能点击的有关问题

2012-07-19 
解决ListView异步加载数据之后不能点击的问题在ListView的onScroll事件中执行异步加载数据,然后使用notify

解决ListView异步加载数据之后不能点击的问题
在ListView的onScroll事件中执行异步加载数据,然后使用notifyDataSetChange()函数更新适配器,之后发现listView不能点击了,这问题苦恼了我半天。最后在一篇博文中发现调用listView的requestFocusFromTouch()函数终于解决了这问题。

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。

热点排行