android开发技术心得分享——ListView的BaseAdapter使用容易出现的一个错误

ListView一般都会setAdapter(BaseAdapter)的方式,来动态家在列表中的数据
BaseAdapter中最重要的方法:getView(int position, View convertView, ViewGroup parent ),用来每次拖动到某个位置时获取新的要显示的行。
getView(int position, View convertView, ViewGroup parent )方法中,为了节省资源,一般都会重用convertView,例如:向下滑动时,上部不再显示的行对应的convertView对象会被用来显示下方新出现的行,即没有重新分配。
这里就会出现一个问题:
消失的convertView中的属性并没有被重置,如果在getView中要根据条件判断一些内容显示一些内容不显示的话,就会出现相互影响的情况。
解决办法:
保证convertView中的内容被覆盖,例:如果有条件判断,if(),要记住增加else()。

你可能感兴趣的:(BaseAdapter)