代码 注意
网络请求 注意: 加权限
多条目 注意: 是否全局
RecyclerView
//定义三种常量 表示三种条目类型
public static final int TYPE_PULL_IMAGE = 0;
public static final int TYPE_RIGHT_IMAGE = 1;
private final Context context;
private List
data;
public MyRecyAdapter(Context context,List
data) {
this.context=context;
this.data = data;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//创建不同的 ViewHolder
View view;
//根据viewtype来创建条目
if (viewType == TYPE_PULL_IMAGE) {
view = LayoutInflater.from(context).inflate(R.layout.item_x,parent,false);
return new PullImageHolder(view);
} else {
view = LayoutInflater.from(context).inflate(R.layout.item_j,parent,false);
return new RightImageHolder(view);
}
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
switch (getItemViewType(position)){
case 0:
(((PullImageHolder)holder).tv_time).setText(data.get(position).getTitle());
(((PullImageHolder)holder).tv_x).setText(data.get(position).getSubhead());
String[] sx=data.get(position).getImages().split("\\|");
Picasso.with(context).load(sx[0]).error(R.mipmap.ic_launcher).into((((PullImageHolder)holder).im_x));
Picasso.with(context).load(sx[1]).error(R.mipmap.ic_launcher).into((((PullImageHolder)holder).ims_x));
break;
case 1:
(( (RightImageHolder)holder).tv_j).setText(data.get(position).getTitle()+" 11");
String s=data.get(position).getImages().split("\\|")[0];
Log.i("im",s);
Picasso.with(context).load(s).error(R.mipmap.ic_launcher).into((((RightImageHolder)holder).im_j));
break;
}
}
@Override
public int getItemCount() {
if (data != null) {
return data.size();
}
return 0;
}
//根据条件返回条目的类型
@Override
public int getItemViewType(int position) {
int type = new Random().nextInt()*2+position;
int i = type % 2;
Log.i("type",type+"");
if (i == 0) {
return TYPE_PULL_IMAGE;
} else {
return TYPE_RIGHT_IMAGE;
}
}
/**
* 创建三种ViewHolder
*/
private class PullImageHolder extends RecyclerView.ViewHolder {
private final TextView tv_time;
private final TextView tv_x;
private final ImageView im_x;
private final ImageView ims_x;
public PullImageHolder(View itemView) {
super(itemView);
im_x = (ImageView) itemView.findViewById(R.id.item_im_x);
ims_x = (ImageView) itemView.findViewById(R.id.item_ims_x);
tv_time = (TextView) itemView.findViewById(R.id.item_time_x);
tv_x = (TextView) itemView.findViewById(R.id.item_tv_x);
}
}
private class RightImageHolder extends RecyclerView.ViewHolder {
private final ImageView im_j;
private final TextView tv_j;
public RightImageHolder(View itemView) {
super(itemView);
im_j = (ImageView) itemView.findViewById(R.id.item_j_im);
tv_j = (TextView) itemView.findViewById(R.id.item_j);
}
}