<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipeRefreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/footer_linearlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center"
android:orientation="horizontal"
android:visibility="gone">
<ProgressBar
android:id="@+id/load_more_pb"
style="@android:style/Widget.ProgressBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp" />
<TextView
android:id="@+id/load_more_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:text="正在加载..." />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/footer_linearlayout" />
</RelativeLayout>
</android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>
例子在这里
package com.moziqi.pullloadmorerecyclerviewsample;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.wuxiaolong.pullloadmorerecyclerview.PullLoadMoreRecyclerView;
import java.util.ArrayList;
import java.util.List;
/**
* A simple {@link Fragment} subclass.
*/
public class FristFragment extends Fragment {
private PullLoadMoreRecyclerView mPullLoadMoreRecyclerView;
private int mCount = 1;
private RecyclerViewAdapter mRecyclerViewAdapter;
private RecyclerViewAdapter2 mRecyclerViewAdapter2;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_frist, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mPullLoadMoreRecyclerView = (PullLoadMoreRecyclerView) view.findViewById(R.id.pullLoadMoreRecyclerView);
//mPullLoadMoreRecyclerView.setRefreshing(true);
mPullLoadMoreRecyclerView.setLinearLayout();
mPullLoadMoreRecyclerView.setOnPullLoadMoreListener(new PullLoadMoreListener());
getData();
}
private void getData() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// if (mRecyclerViewAdapter == null) {
// mRecyclerViewAdapter = new RecyclerViewAdapter(getActivity(), setList());
// mPullLoadMoreRecyclerView.setAdapter(mRecyclerViewAdapter);
// } else {
// mRecyclerViewAdapter.getDataList().addAll(setList());
// mRecyclerViewAdapter.notifyDataSetChanged();
// }
if (mRecyclerViewAdapter2 == null) {
mRecyclerViewAdapter2 = new RecyclerViewAdapter2(mPullLoadMoreRecyclerView.getRecyclerView(), setList(), R.layout.recycler_view_item);
mPullLoadMoreRecyclerView.setAdapter(mRecyclerViewAdapter2);
} else {
mRecyclerViewAdapter2.getDataList().addAll(setList());
mRecyclerViewAdapter2.notifyDataSetChanged();
}
mPullLoadMoreRecyclerView.setPullLoadMoreCompleted();
}
}, 3000);
}
private List<String> setList() {
List<String> dataList = new ArrayList<>();
int start = 20 * (mCount - 1);
for (int i = start; i < 20 * mCount; i++) {
dataList.add("Frist" + i);
}
return dataList;
}
class PullLoadMoreListener implements PullLoadMoreRecyclerView.PullLoadMoreListener {
@Override
public void onRefresh() {
setRefresh();
getData();
}
@Override
public void onLoadMore() {
mCount = mCount + 1;
getData();
}
}
private void setRefresh() {
mRecyclerViewAdapter2.getDataList().clear();
mCount = 1;
}
}
package com.moziqi.pullloadmorerecyclerviewsample;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.wuxiaolong.pullloadmorerecyclerview.BaseRecyclerAdapter;
import com.wuxiaolong.pullloadmorerecyclerview.RecyclerHolder;
import java.util.Collection;
import java.util.List;
/**
* Created by moziqi.
*/
public class RecyclerViewAdapter2 extends BaseRecyclerAdapter<String> {
public RecyclerViewAdapter2(RecyclerView v, Collection<String> datas, int itemLayoutId) {
super(v, datas, itemLayoutId);
}
@Override
public void convert(RecyclerHolder holder, String item, int position, boolean isScrolling) {
holder.setText(R.id.title, item);
}
// @Override
// public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_view_item, parent, false);
// return new ViewHolder(v);
// }
//
// @Override
// public void onBindViewHolder(ViewHolder holder, final int position) {
// holder.title.setText(dataList.get(position));
// }
//
// @Override
// public int getItemCount() {
// return dataList.size();
// }
}
转载请表明来之这里http://my.oschina.net/moziqi/blog/308842
觉得这篇文章帮助到你了,你可以请我吃个糖。哈哈