1. 程式人生 > >SwipeToLoadLayout之倒包加上啦載入下拉重新整理demo

SwipeToLoadLayout之倒包加上啦載入下拉重新整理demo

package com.wentong.administrator.swipetoloaddemo.activity;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;

import com.aspsine.swipetoloadlayout.OnLoadMoreListener;
import com.aspsine.swipetoloadlayout.OnRefreshListener;
import com.aspsine.swipetoloadlayout.SwipeToLoadLayout;
import com.wentong.administrator.swipetoloaddemo.R;
import com.wentong.administrator.swipetoloaddemo.adapter.AdapterRecycler;

import java.util.ArrayList;
import java.util.Date;

/**
 * Created by Administrator on 2017/3/17.
 */

public class ActivityRecycler extends AppCompatActivity{

    SwipeToLoadLayout swipeToLoadLayout ;
    RecyclerView recyclerView ;
    AdapterRecycler adapterRecycler ;
    ArrayList<String> arrayList ;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_recycler);

        initView() ;
    }

    private void initView() {
        swipeToLoadLayout = (SwipeToLoadLayout) findViewById(R.id.act_recycler_swipe) ;
        recyclerView = (RecyclerView) findViewById(R.id.swipe_target) ;

        LinearLayoutManager llm = new LinearLayoutManager(this) ;
        llm.setOrientation(LinearLayoutManager.VERTICAL);
        recyclerView.setLayoutManager(llm);

        swipeToLoadLayout.setOnRefreshListener(new OnRefreshListener() {
            @Override
            public void onRefresh() {
                swipeToLoadLayout.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        swipeToLoadLayout.setRefreshing(false);
                            arrayList.add("下拉刷新出來的:\n" + new Date()) ;
                    }
                } , 2000) ;
            }
        });
        swipeToLoadLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
            @Override
            public void onLoadMore() {
                swipeToLoadLayout.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        swipeToLoadLayout.setLoadingMore(false);
                        arrayList.add("上拉加載出來的:\n" + new Date() ) ;
                    }
                } , 2000) ;
            }
        });
        adapterRecycler = new AdapterRecycler(this) ;
        arrayList = new ArrayList<>() ;
        for (int i = 0; i <8 ; i++) {
            arrayList.add("模擬的初始資料:" + i) ;
        }
        adapterRecycler.setArrayList(arrayList);
        recyclerView.setAdapter(adapterRecycler);

        swipeToLoadLayout.post(new Runnable() {
            @Override
            public void run() {
                swipeToLoadLayout.setRefreshing(true);
            }
        }) ;

    }

}

XML: