今天做项目遇到一个问题,ListView适配的时候多出了两条数据。
检查后发现集合中没问题,
debug之后发现getView被调用了多次,依次传入的position为0001234,前两个0是怎么回事?
查了一下,前两个0是绘制item高度时系统并不知道item应该绘制多高,它会先取一条来试探以确定item绘制的具体高度,这样就导致多调用了getView方法。
if (parent.getChildCount() == position){
//里面就是正常的position
}
else {
//临时的position=0 }
如上图,周四的1和周五的1都是不应该存在的。
今天做项目遇到一个问题,ListView适配的时候多出了两条数据。
检查后发现集合中没问题,
debug之后发现getView被调用了多次,依次传入的position为0001234,前两个0是怎么回事?
查了一下,前两个0是绘制item高度时系统并不知道item应该绘制多高,它会先取一条来试探以确定item绘制的具体高度,这样就导致多调用了getView方法。
if (parent.getChildCount() == position){
//里面就是正常的position
}
else {
//临时的position=0 }
如上图,周四的1和周五的1都是不应该存在的。
分享到:
相关推荐
ListView中getView重用好多次,有头像的布局
基于Eclipse开发平台,Android中使用ListView和三种适配器(ArrayAdaper,SimpleAdapter,BaseAdapter)实现数据的填充。
android listview getview多调用俩周期
it's a normal Android listview adapter.The adapter extends BaseAdapter...
Adapter的一种写法 package com.xxkjx.jiusanqi; import java.util.List; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; ...
为便于学习自定义的Adapter,本案例的界面未进行美化,功能已经实现,对于其中的getView(int position,View view ,ViewGroup vg)做了数据的填充操作。本案例功能及其简单,只涉及ListView中自定义适配器,没有对...
Android listview与adapter操作和用法
以前倒是没有注意listview的getView会重复执行多次,在测试的时候去断点跟踪,发现同一条数据不断的重复执行,下面与大家分享下正确的解决方法,希望对你有所帮助
这是我一下午的总结,listview常用的方法,和三种基本适配器以及实际开发中通过泛型的适配器以及万能适配器,如果大家感兴趣,这里有文章的地址:http://write.blog.csdn.net/postlist
安卓listview自定义adapter包括demo和一些其他自定义绑定的代码
listview适配器,包含 ListViewAdapter和ViewHolder以及简单使用demo代码。该适配器能快速简单绑定数据和操作显示数据。可以对其扩充修改
listview中通用adapter,方法封装,调用方便简单
Android ListView adapter不同布局,当需要用到ListView叠加嵌套时候可以考虑
Android之自定义Adapter的ListView
ListViewAdapter和ViewHolder代码,全面的安卓listview适配器源码。使得使用listview绑定数据显示非常方面
Android ListView中Adapter、填充器的使用
博客ListView中含有Button时setOnclickListener应写在Adapter的什么地方的代码http://blog.csdn.net/yangzl2008/article/details/7863938
Android自定义adapter的listview代码
ListView 通过adapter传递对象