只写最主要的类 ,适配器
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.List;
import bwie.com.day_lanjieqi.R;
import bwie.com.day_lanjieqi.bean.Data;
public class RecyclerAdpater extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private Context context;
private List<Data> list;
private static final int TYPE_HAS_PIC=0;
private static final int TYPE_NO_PIC=1;
public RecyclerAdpater(Context context, List<Data> list) {
this.context = context;
this.list = list;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (viewType==TYPE_HAS_PIC){
//找到布局文件
View v = View.inflate(context, R.layout.recy_view, null);
ViewHolder viewHolder = new ViewHolder(v);
return viewHolder;
}else{
//找到布局文件
View vv = View.inflate(context, R.layout.recy, null);
ViewHolderNoTitle viewHolderNoTitle = new ViewHolderNoTitle(vv);
return viewHolderNoTitle;
}
}
//给控件数据赋值
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if (holder instanceof ViewHolder){
ViewHolder h= (ViewHolder) holder;
h.title.setText(list.get(position).getTitle());
h.time.setText(list.get(position).getPrice());
}else if(holder instanceof ViewHolderNoTitle){
ViewHolderNoTitle w= (ViewHolderNoTitle) holder;
w.btitle.setText(list.get(position).getTitle());
}
}
//多条目需要重写的方法
@Override
public int getItemViewType(int position) {
if (position%2==0){
return TYPE_HAS_PIC;
}else{
return TYPE_NO_PIC;
}
}
@Override
public int getItemCount() {
return list.size();
}
//俩个不同的布局控件
class ViewHolder extends RecyclerView.ViewHolder{
private TextView title;
private TextView time;
public ViewHolder(View itemView) {
super(itemView);
title=(TextView) itemView.findViewById(R.id.a_title);
time=(TextView) itemView.findViewById(R.id.a_time);
}
}
//俩个不同的布局控件
class ViewHolderNoTitle extends RecyclerView.ViewHolder{
private TextView btitle;
public ViewHolderNoTitle(View itemView) {
super(itemView);
btitle=(TextView) itemView.findViewById(R.id.b_title);
}
}
}