首页新闻找找看学习计划

Android ListView 加载大量数据后,那些已加载过的数据去哪了?

0
悬赏园豆:5 [已解决问题] 解决于 2014-03-07 11:01

Android ListView 加载的数据是怎么管理的,如果加载了10000条,前面浏览过的大量数据删除了吗?

owner_hzh的主页 owner_hzh | 初学一级 | 园豆:6
提问于:2013-12-20 17:49
< >
分享
最佳答案
0

listview的机制是这样子的:

假如你有1000条数据,但是屏幕只能显示10条,那么当你第一次加载显示的时候,会先创建10个View,1-10,当你拖动Listview,使1隐藏而11显示的时候,系统会自动把填充1的View传递过来,注意看代码Adapter的getView方法

@Override
public View getView(final int position, View convertView, ViewGroup parent) 

这里的converView就是1的view,一般的做法会把这个view拿来复用,作为11的view。你去网上找些自定义Adapter的例子,都是这么做的。

收获园豆:5
林J | 菜鸟二级 |园豆:202 | 2013-12-27 13:21
其他回答(2)
0

数据跟你的视图无关~

非子墨 | 园豆:202 (菜鸟二级) | 2014-01-17 12:48
0

listview只管视图,数据你应该建一个ArrayList之类的列表或者数组来管理,

ListView其实是一个MVC模型,由数据+控制器+视图 3部分组成。控制器就是adapter,视图是listview,数据就是ArrayList之类。在Adapter的getView中,通过ArrayList的get(pos)方法取出相应的信息显示。

只要你不对ArrayList做clear或remove操作,数据就一直保存在其中

馒头脸 | 园豆:206 (菜鸟二级) | 2014-01-31 23:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册