在使用一款全新的控件的时候,得先了解这款控件的背景,我就不一一介绍了。
在使用RecyclerView的时候先添加依赖:compile 'com.android.support:recyclerview-v7:25.0.0'
添加完依赖之后,在activity中设置RecyclerView的样式。(样式一共分为三种 )
//设置recyclerView的样式这是列表 rcl.setLayoutManager(new LinearLayoutManager(SecondActivity.this,LinearLayoutManager.VERTICAL,false));
这里就需要到了设配器。recyclerView的适配器和原来我们所使用的listview的适配器还是有一定的区别的
继承的时候一定要 public class MyRecyclerViewAdapter extends RecyclerView.Adapter<> 这么继承,<>这里面
一般是指泛型,在这里是要得到我们的ViewHolder。 viewHolder可以自己定义然后添加进去如下
public class MyViewHolder extends RecyclerView.ViewHolder
上面的泛型就可以使用<MyRecyclerViewAdapter.MyViewHolder> 类名点类名! 然后会提示生成三个方法
public int getItemCount()
public void onBindViewHolder(MyViewHolder holder, int position)
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) 三个方法第一个是指和listview一样有多少条数据 第二个方法是指和myViewHolder绑定,在这个方法下给控件赋值 第三个方法是得到布局的View,并且设置给viewholder。 当以上书写完毕后就添加适配器,下面是完整代码:public class MyRecyclerViewAdapter extends RecyclerView.Adapter<MyRecyclerViewAdapter.MyViewHolder> { private List<Data.DataBean> list; private Context context; public MyRecyclerViewAdapter(List<Data.DataBean> list, Context context) { this.list = list; this.context = context; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view=View.inflate(context, R.layout.item,null); MyViewHolder viewHolder=new MyViewHolder(view); return viewHolder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { holder.jieshao.setText(list.get(position).getIntroduction()); holder.name.setText(list.get(position).getTitle()); holder.year.setText(list.get(position).getUserAge()+""); holder.z