Android Paging Library是Android官方support-v7支持包中专门做的分页框架,它和LIstView的adapter一样都是实现适配详细文档见谷歌官方文档附录2页面。
使用Android Paging Library首先需要在gradle添加引用:
implementation 'android.arch.paging:runtime:1.0.0-alpha3'
- main_activity布局中加入如下代码
<android.support.v7.widget.RecyclerView android:id="@+id/recycleview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"/>
- 每个item的布局文件
这里就只写了一个文本,需要什么样的item可以自己定义
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:background="@drawable/recyclerview_selector"
android:clickable="true" android:layout_height="wrap_content">
<TextView android:id="@+id/textview"
android:layout_width="match_parent"
android:layout_height="60dp"
android:textSize="20dp"
android:gravity="center"/> </LinearLayout>
其实最重要的还是自定义RecyclerViewadapter这个类必须实现下面几个:
1.自定义ViewHolder
包含item的所有界面元素。
2.onCreateViewHolder(ViewGroup parent, int viewType)
这个方法用来创建View,被LayoutManager所用,说简单点就是获取RecyclerView的每个Item,但最后返回的不是view而是自定义ViewHolder的对象。
3.onBindViewHolder(final ViewHolder holder, int position)
这个方法用来绑定数据
4.getItemCount()
返回item的个数
具体代码如下:
package zhangphil.demo;
import android.arch.paging.PagedList;
import android.arch.paging.PagedListAdapter;
import android.arch.paging.TiledDataSource;
import android.graphics.Color;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivi