public class MainAdapter extends BaseAdapter {
private Context context;
private List<MainBean.ResultBean.DataBean> dataBeanList;
public MainAdapter(Context context, List<MainBean.ResultBean.DataBean> dataBeanList) {
this.context = context;
this.dataBeanList = dataBeanList;
}
@Override
public int getCount() {
return dataBeanList.size();
}
@Override
public MainBean.ResultBean.DataBean getItem(int position) {
return dataBeanList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getItemViewType(int position) {
if (!TextUtils.isEmpty(dataBeanList.get(position).getThumbnail_pic_s03())){
return view_type_two;
}else {
return view_type_one;
}
}
@Override
public int getViewTypeCount() {
return super.getViewTypeCount() +3;
}
private final int view_type_one = 1;
private final int view_type_two = 2;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
int viewType = getItemViewType(position);
switch (viewType) {
case view_type_one:
ViewHolderOne holderOne = null;
if (convertView == null) {
holderOne = new ViewHolderOne();
convertView = LayoutInflater.from(context).inflate(R.layout.item_one, null, false);
holderOne.text_title = convertView.findViewById(R.id.tv_title);
holderOne.img_icon = convertView.findViewById(R.id.iv_image);
convertView.setTag(holderOne);
}else {
holderOne = (ViewHolderOne) convertView.getTag();
}
holderOne.text_title.setText(dataBeanList.get(position).getTitle());
ImageLoader.getInstance().displayImage(dataBeanList.get(position).getThumbnail_pic_s (),holderOne.img_icon);
break;
case view_type_two:
ViewHolderTwo holderTwo = null;
if (convertView == null){
holderTwo = new ViewHolderTwo();
convertView = LayoutInflater.from(context).inflate(R.layout.item_two,null,false);
holderTwo.text_title = convertView.findViewById(R.id.tv_title);
holderTwo.img_icon = convertView.findViewById(R.id.iv_image);
holderTwo.img_icon2 = convertView.findViewById(R.id.iv_image2);
holderTwo.img_icon3 = convertView.findViewById(R.id.iv_image3);
convertView.setTag(holderTwo);
}else {
holderTwo = (ViewHolderTwo) convertView.getTag();
}
holderTwo.text_title.setText(dataBeanList.get(position).getTitle());
ImageLoader.getInstance().displayImage(dataBeanList.get(position).getThumbnail_pic_s (),holderTwo.img_icon);
ImageLoader.getInstance().displayImage(dataBeanList.get(position).getThumbnail_pic_s02 (),holderTwo.img_icon2);
ImageLoader.getInstance().displayImage(dataBeanList.get(position).getThumbnail_pic_s03 (),holderTwo.img_icon3);
break;
}
return convertView;
}
class ViewHolderOne {
private TextView text_title;
private ImageView img_icon;
}
class ViewHolderTwo {
private TextView text_title;
private ImageView img_icon;
private ImageView img_icon2;
private ImageView img_icon3;
}
}
<布局one>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tv_title"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="200dp"
android:id="@+id/iv_image"
android:layout_below="@id/tv_title"/>
</RelativeLayout>
<布局two>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tv_title"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_title"
android:orientation="horizontal">
<ImageView
android:layout_width="0dp"
android:layout_height="200dp"
android:id="@+id/iv_image"
android:layout_weight="1"/>
<ImageView
android:layout_width="0dp"
android:layout_height="200dp"
android:id="@+id/iv_image2"
android:layout_weight="1"/>
<ImageView
android:layout_width="0dp"
android:layout_height="200dp"
android:id="@+id/iv_image3"
android:layout_weight="1"/>
</LinearLayout>
</RelativeLayout>