public class MyAdapter extends BaseAdapter { private ArrayList<News> list; private Context context; private final int aType=0; private final int bType=1; private final int sum_Type=2; public MyAdapter(ArrayList<News> list, Context context) { this.list = list; this.context = context; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } /** * 多种布局回调方法 */ @Override public int getItemViewType(int position) { if(position%2==0){ return aType; }else{ return bType; } } @Override public int getViewTypeCount() { return sum_Type;//布局总数 } @Override public View getView(int i, View view, ViewGroup viewGroup) { int type = getItemViewType(i); ViewHolder1 holder1=null; ViewHolder2 holder2=null; if(view==null){ switch(type){ case aType: view = View.inflate(context, R.layout.item1, null); holder1=new ViewHolder1(); holder1.tv_title1=view.findViewById(R.id.tv_title1); holder1.tv_date1=view.findViewById(R.id.tv_date1); holder1.iv_img1=view.findViewById(R.id.iv_img1); holder1.tv_title1.setText(list.get(i).getTitle()); holder1.tv_date1.setText(list.get(i).getDate()); ImageLoader.getInstance().displayImage(list.get(i).getImg(),holder1.iv_img1); view.setTag(holder1); break; case bType: view = View.inflate(context, R.layout.item2, null); holder2=new ViewHolder2(); holder2.tv_title2=view.findViewById(R.id.tv_title2); holder2.tv_date2=view.findViewById(R.id.tv_date2); holder2.iv_img2=view.findViewById(R.id.iv_img2); holder2.tv_title2.setText(list.get(i).getTitle()); holder2.tv_date2.setText(list.get(i).getDate()); ImageLoader.getInstance().displayImage(list.get(i).getImg(),holder2.iv_img2); view.setTag(holder2); break; } }else{ switch(type){ case aType: holder1= (ViewHolder1) view.getTag(); holder1.tv_title1.setText(list.get(i).getTitle()); holder1.tv_date1.setText(list.get(i).getDate()); ImageLoader.getInstance().displayImage(list.get(i).getImg(),holder1.iv_img1); break; case bType: holder2= (ViewHolder2) view.getTag(); holder2.tv_title2.setText(list.get(i).getTitle()); holder2.tv_date2.setText(list.get(i).getDate()); ImageLoader.getInstance().displayImage(list.get(i).getImg(),holder2.iv_img2); break; } } return view; } class ViewHolder1{ public TextView tv_title1; public TextView tv_date1; public ImageView iv_img1; } class ViewHolder2{ public TextView tv_title2; public TextView tv_date2; public ImageView iv_img2; } }
listView多item布局设置
最新推荐文章于 2021-05-26 13:16:41 发布