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的例子,都是这么做的。
数据跟你的视图无关~
listview只管视图,数据你应该建一个ArrayList之类的列表或者数组来管理,
ListView其实是一个MVC模型,由数据+控制器+视图 3部分组成。控制器就是adapter,视图是listview,数据就是ArrayList之类。在Adapter的getView中,通过ArrayList的get(pos)方法取出相应的信息显示。
只要你不对ArrayList做clear或remove操作,数据就一直保存在其中