listview多条目类型适配

public class MyAdapters extends BaseAdapter{
private List<NewsInfo.DataBean> list ;
private Context context ;
private final int Type1 = 0 ;
private final int Type2 = 1 ;
private final int Type3 = 2 ;
private final int Type4 = 3 ;
public MyAdapters(List<NewsInfo.DataBean> list, Context context) {
this . list = list;
this . context = context;
}
@Override
public int getCount() {
return 15 ;
}
@Override
public Object getItem( int position) {
return list .get(position);
}
@Override
public long getItemId( int position) {
return position;
}
@Override
public int getViewTypeCount() {
return 4 ;
}
@Override
public int getItemViewType( int position) {
int p=position;
if (p== 0 ){
return Type1 ;
} else if ( 1 <=p&&p<= 9 ){
return Type2 ;
} else if (p<= 13 ){
return Type3 ;
} else {
return Type4 ;
}
}
@Override
public View getView( int position, View convertView, ViewGroup parent) {
viewholer1 va1= null ;
viewholer2 va2= null ;
viewholer3 va3= null ;
viewholser4 va4= null ;
int type=getItemViewType(position);
if (convertView== null ) switch (type) {
case Type1 :
convertView = View. inflate ( context , R.layout. listview , null );
va1 = new viewholer1();
va1. im = (ImageView) convertView.findViewById(R.id. im );
convertView.setTag(va1);
break ;
case Type2 :
convertView = View. inflate ( context , R.layout. listview2 , null );
va2 = new viewholer2();
va2. t1 = (TextView) convertView.findViewById(R.id. tv2 );
va2. im2 = (ImageView) convertView.findViewById(R.id. im2 );
convertView.setTag(va2);
break ;
case Type3 :
convertView = View. inflate ( context , R.layout. listview3 , null );
va3 = new viewholer3();
va3. t3 = (TextView) convertView.findViewById(R.id. tv3 );
convertView.setTag(va3);
break ;
case Type4 :
convertView = View. inflate ( context , R.layout. listview4 , null );
va4 = new viewholser4();
va4. t4 = (TextView) convertView.findViewById(R.id. tv4 );
// va4.im3= (ImageView) convertView.findViewById(R.id.im4);
convertView.setTag(va4);
break ;

} else {
switch (type){
case Type1 :
va1= (viewholer1) convertView.getTag();
break ;
case Type2 :
va2= (viewholer2) convertView.getTag();

break ;
case Type3 :
va3= (viewholer3) convertView.getTag();
break ;
case Type4 :
va4= (viewholser4) convertView.getTag();
break ;
}
}
switch (type){
case Type1 :
if (position== 0 ){
ImageLoader. getInstance ().displayImage( list .get( 0 ).getImg().get( 0 ).getCarouselUrl(),va1. im );
}
break ;
case Type2 :
if (position== 1 ){
va2. t1 .setText( list .get( 1 ).getBody().get( 0 ).get( 0 ).getCategoryTitle());
ImageLoader. getInstance ().displayImage( list .get( 1 ).getBody().get( 0 ).get( 0 ).getUrl(),va2. im2 );
} else if (position== 2 ){
va2. t1 .setText( list .get( 1 ).getBody().get( 1 ).get( 1 ).getCategoryTitle());
ImageLoader. getInstance ().displayImage( list .get( 1 ).getBody().get( 1 ).get( 1 ).getUrl(),va2. im2 );
} else if (position== 3 ){
va2. t1 .setText( list .get( 1 ).getBody().get( 2 ).get( 2 ).getCategoryTitle());

ImageLoader. getInstance ().displayImage( list .get( 1 ).getBody().get( 2 ).get( 2 ).getUrl(),va2. im2 );

} else if (position== 4 ){
va2. t1 .setText( list .get( 1 ).getBody().get( 1 ).get( 0 ).getCategoryTitle());
ImageLoader. getInstance ().displayImage( list .get( 1 ).getBody().get( 1 ).get( 1 ).getUrl(),va2. im2 );

} else if (position== 5 ){
va2. t1 .setText( list .get( 1 ).getBody().get( 1 ).get( 1 ).getCategoryTitle());
ImageLoader. getInstance ().displayImage( list .get( 1 ).getBody().get( 1 ).get( 1 ).getUrl(),va2. im2 );
} else if (position== 6 ){
va2. t1 .setText( list .get( 1 ).getBody().get( 1 ).get( 2 ).getCategoryTitle());
ImageLoader. getInstance ().displayImage( list .get( 1 ).getBody().get( 1 ).get( 2 ).getUrl(),va2. im2 );

} else if (position== 7 ){
va2. t1 .setText( list .get( 1 ).getBody().get( 2 ).get( 0 ).getCategoryTitle());
ImageLoader. getInstance ().displayImage( list .get( 1 ).getBody().get( 2 ).get( 0 ).getUrl(),va2. im2 )
;

} else if (position== 8 ){
va2. t1 .setText( list .get( 1 ).getBody().get( 2 ).get( 1 ).getCategoryTitle());
ImageLoader. getInstance ().displayImage( list .get( 1 ).getBody().get( 2 ).get( 0 ).getUrl(),va2. im2 );
} else if (position== 9 ){
va2. t1 .setText( list .get( 1 ).getBody().get( 2 ).get( 1 ).getCategoryTitle());
ImageLoader. getInstance ().displayImage( list .get( 1 ).getBody().get( 2 ).get( 2 ).getUrl(),va2. im2 );
}
break ;
case Type3 :
if (position== 10 ){
va3. t3 .setText( list .get( 2 ).getNotice().get( 0 ).getNoticeDescription());
} else if (position== 11 ){
va3. t3 .setText( list .get( 2 ).getNotice().get( 1 ).getNoticeDescription());
} else if (position== 12 ){
va3. t3 .setText( list .get( 2 ).getNotice().get( 2 ).getNoticeDescription());
} else if (position== 13 ){
va3. t3 .setText( list .get( 2 ).getNotice().get( 3 ).getNoticeDescription());
}
break ;
case Type4 :
if (position== 14 ){
va4. t4 .setText( list .get( 3 ).getCodeVersion().getVersion()+ "" );
}

//ImageLoader.getInstance().displayImage(list.get(3).getCodeVe);

break ;
}

return convertView;
}
private class viewholer1{
ImageView im ;


}
private class viewholer2{
TextView t1 ;
ImageView im2 ;


}
private class viewholer3{
TextView t3 ;


}
private class viewholser4{
TextView t4 ;
ImageView im3 ;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值