mainActivity
/*
* RecyclerView的使用:1,添加依赖,RecyclerView的依赖版本号必须跟你SDK的版本号保持一致;
implementation files('libs/uk-co-senab-photoview.jar')
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.android.support:recyclerview-v7:26.1.0'
}
adapter
public class MyAdapter extends RecyclerView.Adapter
private List
private Context context;
//构造方法
public MyAdapter(List
this.list = list;
this.context = context;
}
//第一步,创建viewholder实例,(listview的convertview+findviewbyid的操作)
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View convertview = LayoutInflater.from(context).inflate(R.layout.item, parent, false);
final MyViewHolder holder = new MyViewHolder(convertview);
convertview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listner.onitemClick(v,holder.getLayoutPosition());
}
});
return holder;
}
//给item里的所有view设置数据;
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.textView.setText(list.get(position));
}
//返回item数量
@Override
public int getItemCount() {
return list.size();
}
private OnItemClickListner listner;
//设置条目点击监听事件
public void setLinstner(OnItemClickListner linstner) {
this.listner = linstner;
}
}
MyViewHolder
/**
* Created by mamiaomiao on 2018/3/2.
* itemView相当于listview里的convertview
*/
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView textView;
public MyViewHolder(View itemView) {
super(itemView);
textView=(TextView)itemView.findViewById(R.id.mytext);
}
}
/**
* Created by mamiaomiao on 2018/3/2.
* 条目点击的接口
*/
OnitemClickListner
public interface OnItemClickListner {
void onitemClick(View itemView,int position);
}