首先http://www.jianshu.com/p/b343fcff51b0
1.pulltorefresh接口的实现
2,主要实现在onactivitycreate()方法里面
使用示例如下
package com.outstandingaorticulture.outstandingaorticulture; import android.graphics.Color; import android.os.Bundle; import android.os.Handler; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.LinearLayoutManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.support.v7.widget.RecyclerView; import android.widget.TextView; import android.widget.Toast; import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.listener.OnItemClickListener; import com.outstandingaorticulture.outstandingaorticulture.adapter.PullToRefreshAdapter; import com.outstandingaorticulture.outstandingaorticulture.data.DataServer; import com.outstandingaorticulture.outstandingaorticulture.loadmore.CustomLoadMoreView; public class FragmentHome extends Fragment implements SwipeRefreshLayout.OnRefreshListener, BaseQuickAdapter.RequestLoadMoreListener { private RecyclerView mRecyclerView; private PullToRefreshAdapter pullToRefreshAdapter; private SwipeRefreshLayout mSwipeRefreshLayout; private static final int TOTAL_COUNTER = 18; private static final int PAGE_SIZE = 6; private int delayMillis = 1000; private int mCurrentCounter = 0; private boolean isErr; private boolean mLoadMoreEndGone = false; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { //setTitle("Pull TO Refresh Use"); // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_home, container, false); } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { mRecyclerView = (RecyclerView)getView().findViewById(R.id.rv_list); mSwipeRefreshLayout = (SwipeRefreshLayout) getView().findViewById(R.id.swipeLayout); mSwipeRefreshLayout.setOnRefreshListener(this); mSwipeRefreshLayout.setColorSchemeColors(Color.rgb(47, 223, 189)); mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); //setBackBtn(); initAdapter(); addHeadView(); super.onActivityCreated(savedInstanceState); } @Override public void onRefresh() { pullToRefreshAdapter.setEnableLoadMore(false); new Handler().postDelayed(new Runnable() { @Override public void run() { pullToRefreshAdapter.setNewData(DataServer.getSampleData(PAGE_SIZE)); isErr = false; mCurrentCounter = PAGE_SIZE; mSwipeRefreshLayout.setRefreshing(false); pullToRefreshAdapter.setEnableLoadMore(true); } }, delayMillis); } private void initAdapter() { pullToRefreshAdapter = new PullToRefreshAdapter(); pullToRefreshAdapter.setOnLoadMoreListener(this, mRecyclerView); pullToRefreshAdapter.openLoadAnimation(BaseQuickAdapter.SLIDEIN_LEFT); // pullToRefreshAdapter.setPreLoadNumber(3); mRecyclerView.setAdapter(pullToRefreshAdapter); mCurrentCounter = pullToRefreshAdapter.getData().size(); mRecyclerView.addOnItemTouchListener(new OnItemClickListener() { @Override public void onSimpleItemClick(final BaseQuickAdapter adapter, final View view, final int position) { Toast.makeText(getActivity(), Integer.toString(position), Toast.LENGTH_LONG).show(); } }); } private void addHeadView() { View headView = getActivity().getLayoutInflater().inflate(R.layout.head_view, (ViewGroup) mRecyclerView.getParent(), false); headView.findViewById(R.id.iv).setVisibility(View.GONE); ((TextView) headView.findViewById(R.id.tv)).setText("change load view"); headView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mLoadMoreEndGone = true; pullToRefreshAdapter.setLoadMoreView(new CustomLoadMoreView()); mRecyclerView.setAdapter(pullToRefreshAdapter); Toast.makeText(getActivity(), "change complete", Toast.