android开发 笔记(1.30)
1.关于RecycleView的简易封装
默认的Adapter :
public class ItemAdapter extends RecyclerView.Adapter<ItemAdapter.ViewHolder> {
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return null;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 0;
}
public class ViewHolder extends RecyclerView.ViewHolder {
public ViewHolder(View itemView) {
super(itemView);
}
}
}
要写出一个RecyclerView.Adapter必须自己写一个ViewHolder且一定要继承RecyclerView.ViewHolder;然后重写onCreateViewHolder、onBindViewHolder、getItemCount这三个函数
而其他几个函数都基本上都是固定格式了,所以我们就可以将这些千篇一律的代码进行封装了。
Adapter中我们最终要的一个就是数据源了,所以我们需要先定义我们的数据源但是你会发现在不同的地方
我们的数据也是不一样的那我们怎么定义呢?这个时候我们就需要引入泛型了。
2.基本用法
1.RecycleVIew定义在support库中,所以要想使用这个控件,需要在build.grade中添加相应的依赖库。(记得Sync now同步)
2.activity_main.xml中
为RecyclerView指定一个id,宽高都为match_parent,这样就使RecycleView铺满整个布局空间。
(因为RecycleView不是内置系统Sdk当中的,所以需要把他的完整路径写下来)
3.同ListView的例子一样写一个Fruit类和fruit_item.xml,并将所需水果图复制过来。
4.为RecycleView准备一个适配器
(作用:把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作)
关于适配器的详细介绍博推荐:https://blog.csdn.net/carson_ho/article/details/54910430
(关于泛型的定义:https://blog.csdn.net/a_zhon/article/details/66971369)
默认的Adapter
public class ItemAdapter extends RecyclerView.Adapter<ItemAdapter.ViewHolder> {
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return null;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 0;
}
public class ViewHolder extends RecyclerView.ViewHolder {
public ViewHolder(View itemView) {
super(itemView);