首页 > 代码库 > 安卓开发笔记 RecycleView (三)

安卓开发笔记 RecycleView (三)

创建RecycleView的步骤:

在Layout中创建RecycleView

创建List Item 和 ViewHolder

添加RecycleView 适配器

添加LayoutManager 和 将所有事情连接起来。

 

练习一:RecycleView 布局

第一 步:在app/build.gradle(Module:app)文件中添加依赖

dependencies {    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])    compile ‘com.android.support:appcompat-v7:25.1.0‘    // TODO (1) Add RecyclerView dependency    compile ‘com.android.support:recyclerview-v7:25.1.0‘}

 

第二步: 添加RecycleView到布局中

    <!--TODO (2) Replace the TextView with a RecyclerView with an id of "@+id/rv_numbers"-->    <!--TODO (3) Make the width and height of the RecyclerView match_parent-->    <android.support.v7.widget.RecyclerView
     android:id="@+id/rv_numbers"
android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v7.widget.RecyclerView>

 

 

练习二:使用ViewHolder

1. 在app/res/layout/目录下新建number_list_item.xml文件

// number_list_item.xml
<?
xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="16dp" > <TextView android:id="@+id/tv_item_number" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/TextAppearance.AppCompat.Title" android:textSize="42sp" android:fontFamily="monospace" /></FrameLayout>

 

 

2. 添加 NumberViewHolder 类

class NumberViewHolder extends RecyclerView.ViewHolder {        private TextView listItemNumberView;        public NumberViewHolder(View itemView) {            super(itemView);            listItemNumberView = (TextView) itemView.findViewById(R.id.tv_item_number);            void bind(int listIndex) {                listItemNumberView.setText(String.valueOf(listIndex));            }        }    }

 

 

练习三:Adapter 适配器

适配器要求我们重写三个函数:

onCreateViewHolder()  在RecylclerView 实例化一个新的ViewHolder实例时调用

onBindViewHolder() 在RecyclerView 想要让用户使用他时调用

getItemCount() 它返回数据源中的个数

 

过程:

当RecyclerView已经初始化后,他会首先询问Adapter将要显示的项目个数

然后RecyclerView会要求适配器创建ViewHolder对象 在这个过程调用 onCreateViewHolder() 使用相应的xml来绘制

onCreateViewHolder() 函数负责创建视图,在创建好每个viewHolder之后,RecyclerView将调用onBindViewHolder()来为每个项目填充数据

 

练习:创建Adapter

 

安卓开发笔记 RecycleView (三)