继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

RecyclerView 的使用流程

慕运维2858188
关注TA
已关注
手记 123
粉丝 63
获赞 512
一 加入依赖

使用 AS 自带的依赖管理工具加入RecyclerView的依赖,注意和和编译版本号一致

二 在布局文件中加入 RecyclerView控件
 <android.support.v7.widget.RecyclerView
        android:id="@+id/main_recylist"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
三 为 RecyclerView 控件添加布局管理器,

布局管理器用于显示列表展示样式

         //找到这个Listview
        mRecyclerView = (RecyclerView) findViewById(R.id.main_recylist);
        //设置线性管理器
        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
四 为控件设置适配器
        myAdapter = new MyAdapter(mDataList);
        mRecyclerView.setAdapter(myAdapter);
五 创建 ViewHolder用来缓存控件重复利用
public class ViewHolder extends RecyclerView.ViewHolder {

        private TextView mTvTitle;

        public ViewHolder(View itemView) {
            super(itemView);
            mTvTitle = (TextView) itemView.findViewById(R.id.item_tv);

        }

    }
六 创建 ViewHolder视图

也就是每一项展示效果

 @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.main_listview, parent, false));
    }
七 将数据绑定到 ViewHolder

根据 position 来定位列表项

public void onBindViewHolder(ViewHolder holder, int position) {

        //获取这个TextView

        TextView tv= holder.mTvTitle;

        tv.setText(mDataList.get(position));
    }
八 返回控件显示的 item 数量
 @Override
    public int getItemCount() {
        // 返回数据集合大小
        return mDataList == null ? 0 : mDataList.size();
    }
九 通过 Adapter的构造方法传入数据
private List<String> mDataList;

    public MyAdapter(List<String> list) {
        mDataList = list;
    }
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP