关于Listview显示不同条目的两种方法

==============第一种=============腹写adapter中的这两个方法 
/**
     *根据position来返回不同的条目类型
     *返回的是你自己定义的这个条目所对应的类型
     */
    @Override
    public int getItemViewType(int position) { 
  return super.getItemViewType(position);
    }
--------------------------------------------------------
/**
*  返回集中类型的条目
*/
 public int getViewTypeCount() {

    }


1,覆写了上面方法之后在getView()中  
2,通过 int   type = getItemViewType(position); 获得当前条目所对应的类型type,
3,通过switch(type) 比对自己定义的条目所对应的常量,然后初始化不同的convertview


然后进行数据的填充   就OK啦·。。·。·------
----------------- 如果需要删除其中的条目,这个getViewTypeCount 的数值应该比实际数值最少大1吧  - ,否则删除最后一个条目的时候 会下标越界·。。·。·。·



=====第二种================= 华丽的分割线==========================================================


其实上面这种方法有一些隐形的问题,比如 空指针问题,或者当你想更改其中某个条目的backgroundResource  然后你点击其他条目,让这个条目恢复到默认状态的时候,上面这种方法可能就会有些复杂  而且由于逻辑判断过多,可能会导致延迟


  1,尽量能写在一个item中,
  2,在getView中自己去根据position或者其他条件来判断  然后进行对应 gone  visible
  3,然后进行对应的操作;


这样做的好处: --------------------------------1,避免过多的判断           2,代码简单更容易控制,避免空指针,更适合一些逻辑处理(比如点击效果的实现)
                                                
          推荐使用第二种·。。·。·比如聊天的对话列表

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值