BaseAdapter的convertView参数是什么意思

出处:http://zhidao.baidu.com/link?url=EdLDF4pBM9vBfJcQx9ImOZALPXFGWjj2pIE9gAmYaKVcpQlAeVb4AlYqB8W0h7qa4E3IExJoTWDFSfxsaWmH75_FczBl6Ksrx0iipQcbsHS
(另附:http://blog.csdn.net/pkxiuluo01/article/details/7380974
BaseAdapter适配器里有个getView()需要重写public View getView(int position,View converView,ViewGroup parent){  //省略。。}请问这个方法的三个参数是什么意思?作用是什么?我不要简单的翻译哈,最好举个例子具体用法
这个convertView其实就是最关键的部分  原理上讲 当ListView滑动的过程中 会有item被滑出屏幕 而不再被使用 这时候Android会回收这个条目的view 这个view也就是这里的convertView
当item1被移除屏幕的时候 我们会重新new一个View给新显示的item_new 而如果使用了这个convertView 我们其实可以复用它 这样就省去了new View的大量开销
public View getView(int position, View convertView, ViewGroup parent) {
	View view = null;
	if (convertView != null) {
	view = convertView;
	//复用了回收的view 只需要直接作内容填充的修改就好了
	} else {
	view = new Xxx(...);
	//没有供复用的view 按一般的做法新建view
	}
	return view;
}
我想问下可以不用这个convertView吗?例如我写程序的时候if (convertView != null)这句可以不要吗

可以不要那个判断,有的时候还必须不要那个判断,例如带CheckBox的item,如果你使用判断,在你选中某个item的CheckBox时滑动时会出现混乱,这时你就必须去掉判断对其进行重构。
在item超过屏幕时,在上面选中某个 CheckBox,滑动到下面youshi3也会出现选中的项,再滑动回原来的位置,刚选中的项可能会消失等现象。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值