安卓开发笔记 RecycleView

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓开发笔记 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 的主要内容,如果未能解决你的问题,请参考以下文章

Recycleview 没有出现在片段中

安卓Recycleview简单的网格布局-初学者的关键点

安卓第十天笔记-fragment

安卓 开发笔记目录

安卓。片段 getActivity() 有时返回 null

安卓开源项目收藏