使用 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;
}