RecyclerView
我们需要CrimeListFragment向用户展示crime列表,这就要利用RecyclerView类。 RecyclerView是ViewGroup的子类,每一个列表项都是作为一个View子对象显示的。 这些View子对象既可以是复杂的View对象,也可以是简单的View对象,这取决于我们列表显示复杂度的需要。
RecyclerView只创建刚好充满屏幕的12个视图,而不是100个视图。用户滑动屏幕切换视图时 上一个视图会被回收利用。
顾名思义,RecyclerView所做的就是回收利用,混环往复。
ViewHolder
ViewHolder只做一件事:容纳View视图 典型例子如下:
public class ListRow extends RecycleView.ViewHolder{
public ImageView mThumbnail;
public ListRow(View view){
super(view);
mThunbnail=view.findViewById(R.id.thumbnail);
}
}
创建ListRow来获取自定义的mThumbnail和RecyclerView.ViewHolder超类传入的itemView。 ViewHolder为itemView而生;它引用这我们传递给super(view)的整个视图
使用实例
ListRow row=new ListRow(inflater.inflater(R.layout.list_row,parent,false));
View view=row.itemView;
ImageView thumbnailView=row.mThumbnail;
Adapter
adpter是个控制器对象,从模型层获取数据,然后提供给RecyclerView显示,起到了沟通桥梁的作用。 adapter负责: 1、创建必要的ViewHolder; 2、绑定ViewHoldr至模型层数据;