user类
package com.example.lainfex;
import java.util.List;
public class User {
private String msg;
private int code;
private List data;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
private String uniquekey;
private String title;
private String date;
private String category;
private String author_name;
private String url;
private String thumbnail_pic_s;
private String thumbnail_pic_s02;
private String thumbnail_pic_s03;
//判断图片的张数
public boolean hasThreePic() {
return thumbnail_pic_s != null && thumbnail_pic_s02 != null && thumbnail_pic_s03 != null;
}
public boolean hasTwoPic() {
return thumbnail_pic_s != null && thumbnail_pic_s02 != null;
}
public boolean hasOnePic() {
return thumbnail_pic_s != null;
}
public String getUniquekey() {
return uniquekey;
}
public void setUniquekey(String uniquekey) {
this.uniquekey = uniquekey;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getAuthor_name() {
return author_name;
}
public void setAuthor_name(String author_name) {
this.author_name = author_name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getThumbnail_pic_s() {
return thumbnail_pic_s;
}
public void setThumbnail_pic_s(String thumbnail_pic_s) {
this.thumbnail_pic_s = thumbnail_pic_s;
}
public String getThumbnail_pic_s02() {
return thumbnail_pic_s02;
}
public void setThumbnail_pic_s02(String thumbnail_pic_s02) {
this.thumbnail_pic_s02 = thumbnail_pic_s02;
}
public String getThumbnail_pic_s03() {
return thumbnail_pic_s03;
}
public void setThumbnail_pic_s03(String thumbnail_pic_s03) {
this.thumbnail_pic_s03 = thumbnail_pic_s03;
}
}
}
适配器
package com.example.lainfex;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
import java.util.List;
public class MyAdapter extends BaseAdapter {
private Context context;
private final int one=0;
private final int two=1;
private final int san=2;
private List<User.DataBean> list;
private final DisplayImageOptions options;
public MyAdapter(Context context, List<User.DataBean> list) {
this.context = context;
this.list = list;
options = new DisplayImageOptions.Builder()
.cacheOnDisk(true)
.cacheInMemory(true)
/*.displayer(new RoundedBitmapDisplayer(360))*/
.build();
}
public void setList(List<User.DataBean> list) {
this.list = list;
notifyDataSetChanged();
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
ViewHolder1 viewHolder1;
ViewHolder2 viewHolder2;
int type=getItemViewType(position);
switch (type){
case one:
if (convertView==null){
convertView=LayoutInflater.from(context).inflate(R.layout.shu1,parent,false);
viewHolder=new ViewHolder();
viewHolder.title=convertView.findViewById(R.id.title);
viewHolder.img=convertView.findViewById(R.id.img);
convertView.setTag(viewHolder);
}else{
viewHolder= (ViewHolder) convertView.getTag();
}
viewHolder.title.setText(list.get(position).getTitle());
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),viewHolder.img,options);
break;
case two:
if (convertView==null){
convertView=LayoutInflater.from(context).inflate(R.layout.shu2,parent,false);
viewHolder1=new ViewHolder1();
viewHolder1.title=convertView.findViewById(R.id.title);
viewHolder1.img=convertView.findViewById(R.id.img);
viewHolder1.img1=convertView.findViewById(R.id.img1);
convertView.setTag(viewHolder1);
}else{
viewHolder1= (ViewHolder1) convertView.getTag();
}
viewHolder1.title.setText(list.get(position).getTitle());
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),viewHolder1.img,options);
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s02(),viewHolder1.img1,options);
break;
case san:
if (convertView==null){
convertView=LayoutInflater.from(context).inflate(R.layout.shu3,parent,false);
viewHolder2=new ViewHolder2();
viewHolder2.title=convertView.findViewById(R.id.title);
viewHolder2.img=convertView.findViewById(R.id.img);
viewHolder2.img1=convertView.findViewById(R.id.img1);
viewHolder2.img2=convertView.findViewById(R.id.img2);
convertView.setTag(viewHolder2);
}else{
viewHolder2= (ViewHolder2) convertView.getTag();
}
viewHolder2.title.setText(list.get(position).getTitle());
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),viewHolder2.img,options);
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s02(),viewHolder2.img1,options);
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s03(),viewHolder2.img2,options);
break;
}
return convertView;
}
class ViewHolder{
TextView title;
ImageView img;
}
class ViewHolder1{
TextView title;
ImageView img,img1;
}
class ViewHolder2{
TextView title;
ImageView img,img1,img2;
}
@Override
public int getViewTypeCount() {
return 3;
}
@Override
public int getItemViewType(int position) {
/*if(position%3==0){
return san;
}else if(position%3==2){
return two;
}else {
return one;
}*/
User.DataBean dataBean = list.get(position);
if(dataBean.hasThreePic()) {
return san;
}
if(dataBean.hasTwoPic()) {
return two;
}
return one;
}
}