多条目加载listView

本文介绍了一种使用适配器模式为ListView提供不同视图类型的方法。通过重写getViewTypeCount()和getItemViewType()方法来实现不同类型的布局切换,并展示了具体的实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

适配器

1,int imageleft=0;
     int imageright=1;

2.增加重写方法
   @Override
   public int getViewTypeCount() {
    return 2;
   }

  @Override
   public int getItemViewType(int position) {
    if (position%2==1){
      return imageleft;
    }
    return imageright;
    }

3.getview都同理

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
    if (getItemViewType(i)==imageleft){
        viewHolder vh;
        if (view==null){
            vh= new viewHolder();
            view=View.inflate(context,R.layout.left_layout,null);
            vh.image=(ImageView) view.findViewById(R.id.image);
            vh.text=(TextView) view.findViewById(R.id.text);
            view.setTag(vh);
        }else{
            vh= (viewHolder) view.getTag();
        }
        vh.text.setText(list.get(i).getTitle());
        ImageLoader.getInstance().displayImage(list.get(i).getImg(),vh.image,ImageLoaderutil.show());

    }else if(getItemViewType(i)==imageright){
        viewHolder vh;
        if (view==null){
            vh= new viewHolder();
            view=View.inflate(context,R.layout.right_layout,null);
            vh.image=(ImageView) view.findViewById(R.id.image);
            vh.text=(TextView) view.findViewById(R.id.text);
            view.setTag(vh);
        }else{
            vh= (viewHolder) view.getTag();
        }
        vh.text.setText(list.get(i).getTitle());
        ImageLoader.getInstance().displayImage(list.get(i).getImg(),vh.image,ImageLoaderutil.show());

    }
  return view;
}
class viewHolder{
    ImageView image;
    TextView text;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值