-------------这个是适配器,展示数据 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 i) { return dataBeanList.get(i); } @Override public long getItemId(int i) { return i; } @Override public int getItemViewType(int position) { if (!TextUtils.isEmpty(dataBeanList.get(position).getThumbnail_pic_s03())){ return VIEM_TYPE_TWO; }else{ return VIEM_TYPE_ONE; } } @Override public int getViewTypeCount() { return super.getViewTypeCount()+3; } private final int VIEM_TYPE_ONE = 1; private final int VIEM_TYPE_TWO = 2; @Override public View getView(int i, View view, ViewGroup viewGroup) { int viewType = getItemViewType(i); switch (viewType){ case VIEM_TYPE_ONE: ViewHodler hodler = null; if (view == null){ hodler = new ViewHodler(); view = LayoutInflater.from(context).inflate(R.layout.main_list_item_one,null,false); hodler.tvTitle = view.findViewById(R.id.tv_title); hodler.ivImage = view.findViewById(R.id.iv_image); view.setTag(hodler); }else{ hodler = (ViewHodler) view.getTag(); } hodler.tvTitle.setText(dataBeanList.get(i).getTitle()); ImageLoader.getInstance().displayImage(dataBeanList.get(i).getThumbnail_pic_s(),hodler.ivImage); break; case VIEM_TYPE_TWO: ViewHodlerTwo hodlerTwo = null; if (view == null){ hodlerTwo = new ViewHodlerTwo(); view = LayoutInflater.from(context).inflate(R.layout.main_list_item_two,null,false); hodlerTwo.tvTitle = view.findViewById(R.id.tv_title); hodlerTwo.ivImage = view.findViewById(R.id.iv_image); hodlerTwo.ivImage2 = view.findViewById(R.id.iv_image2); hodlerTwo.ivImage3 = view.findViewById(R.id.iv_image3); view.setTag(hodlerTwo); }else{ hodlerTwo = (ViewHodlerTwo) view.getTag(); } hodlerTwo.tvTitle.setText(dataBeanList.get(i).getTitle()); ImageLoader.getInstance().displayImage(dataBeanList.get(i).getThumbnail_pic_s(),hodlerTwo.ivImage); ImageLoader.getInstance().displayImage(dataBeanList.get(i).getThumbnail_pic_s02(),hodlerTwo.ivImage2); ImageLoader.getInstance().displayImage(dataBeanList.get(i).getThumbnail_pic_s03(),hodlerTwo.ivImage3); break; } return view; } class ViewHodler{ TextView tvTitle; ImageView ivImage; } class ViewHodlerTwo{ TextView tvTitle; ImageView ivImage; ImageView ivImage2; ImageView ivImage3; } }
--------------------之后是两个,Item的布局
item1的布局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv_title" android:layout_width="match_parent" android:layout_height="wrap_content" /> <ImageView android:id="@+id/iv_image" android:layout_width="match_parent" android:layout_height="200dp" android:layout_below="@+id/tv_title" /> </RelativeLayout>
item2的布局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv_title" android:layout_width="match_parent" android:layout_height="wrap_content" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/tv_title" android:orientation="horizontal"> <ImageView android:id="@+id/iv_image" android:layout_width="0dp" android:layout_height="200dp" android:layout_weight="1" /> <ImageView android:id="@+id/iv_image2" android:layout_width="0dp" android:layout_height="200dp" android:layout_weight="1" /> <ImageView android:id="@+id/iv_image3" android:layout_width="0dp" android:layout_height="200dp" android:layout_weight="1" /> </LinearLayout> </RelativeLayout>