美文网首页
给RecycleView初学者:RecycleView的基础用法

给RecycleView初学者:RecycleView的基础用法

作者: 悬雨 | 来源:发表于2018-03-05 17:00 被阅读23次

研究了一下午RecyclerView的Adapter写法。网上看了很多教程好坑,到处都是用自己定义的类看的我云里雾里。。现在总算搞明白了,RecyclerView的比较基础的入门用法。。
下面给跟我一样刚接触的同学写一下我学写Adapter时候做的详尽笔记,希望能帮到看到这篇文章的、和我几个小时前一样还在纠结的菜鸟们。

RecycleView的用法主要分三个部分:
1.在你的布局里创建一个RecyclerView,然后创建一个需要在RecyclerView内循环填充的布局
2.写RecyclerView的Adapter
3.在需要调用RecyclerView的Activity中配置RecyclerView

1.省略

2.RecyclerView的Adapter写法(代码中的注释已经把我所了解的思路详尽的介绍清楚了)

    //0.继承父类
public class SettingsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {

    //1.对各种需要传入的数据进行声明
    private SharedPreferences[] settings;

    //2.构造方法,作为适配器接收参数的入口
    public SettingsAdapter(SharedPreferences[] sharedPreferences/*根据需要更改*/) {
        this.settings = sharedPreferences;
    }

    //3.viewholder的内部类,用于构建viewholder和其要填充的item中的元素的对象,并且将对象和其中的元素绑定
    //总结:将布局的规则用代码实例化为对象,将布局中的元素用代码实例化为对象的属性,方便onBindViewHolder方法进行写入
    class MyViewHolder extends RecyclerView.ViewHolder {
        public TextView textViewSetting;/*根据需要更改*///初始化细分布局中的元素

        public MyViewHolder(View itemView) {
            super(itemView);//这里的itemView指的是细分布局,即需要进行重复构建的布局
            textViewSetting = (TextView) itemView.findViewById(R.id.shezhixiang);
            /*根据需要更改*///布局中的TextView需要填写
        }
    }

    //4.默认需要实现的方法,负责为Item创建视图容器,并且返回一个该容器的实例传给onBindViewHolder方法
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        //以下一步:负责实例化待逐条填充的layout,将其转换为view
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout
                .list_settings, parent, false);
        //以下一步:负责实例化传入的带填充的view的容器
        MyViewHolder myViewHolder = new MyViewHolder(view);
        return myViewHolder;
    }

    //5.默认需要实现的方法,负责将数据写入在Item布局的元素里
    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        /*针对不同的元素写入数据,根据需要更改*/
        MyViewHolder myViewHolder = (MyViewHolder) holder;
    }

    //6.告诉适配器一共有多少条数据需要填充
    @Override
    public int getItemCount() {
        return settings.length;
    }
}

3.为每个RecyclerView创建一个LinerLayoutManager:

LinearLayoutManager linearLayoutManager1 = new LinearLayoutManager(this);

将管理器与RecyclerView绑定:

recyclerView_changgui.setLayoutManager(linearLayoutManager1);

为RecyclerView绑定适配器:

recyclerView_changgui.setAdapter(new SettingsAdapter(this, new String[4]));

相关文章

网友评论

      本文标题:给RecycleView初学者:RecycleView的基础用法

      本文链接:https://www.haomeiwen.com/subject/gtoqfftx.html