Android开发之RecyclerView的上拉刷新和下拉加载

本文探讨了Android开发中RecyclerView的使用,重点在于实现上拉刷新和下拉加载功能,这对于构建长列表和优化用户体验至关重要。
摘要由CSDN通过智能技术生成

Android开发之RecyclerView的上拉刷新和下拉加载

自2015年谷歌开发者大会的召开后,给我们推出了一个新的控件即RecyclerView,它将逐步取代ListView和GriView,对于一些资讯类新闻类的App而言,下拉刷新上拉加载都是不可缺少的功能,那么RecyclerView如何实现上拉刷新和下拉加载呢,经过本人一段时间的研究,终于实现了,下面将代码贴出,还望诸位大神批评指正,灰常感谢♪(^∇^*)

特别注意:
由于本人的Demo中集成了DATABINDINGLIBRARY,即数据绑定库,故使用AS开发的话,需要配置这两步:
1.在项目的build.gradle(非module)中的dependencies下添加配置
classpath "com.android.databinding:dataBinder:1.0-rc1"
2.在module的build.gradle中的添加配置
apply plugin: 'com.android.databinding'

效果图如下:


核心代码如下:
MainActivity
package com.hxht.testrecyclerviewloadmore;

import android.databinding.DataBindingUtil;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Toast;

import com.hxht.testrecyclerviewloadmore.adapter.MyRecyclerViewAdapter;
import com.hxht.testrecyclerviewloadmore.callback.OnRcvScrollListener;
import com.hxht.testrecyclerviewloadmore.databinding.ActivityMainBinding;
import com.hxht.testrecyclerviewloadmore.domain.HelpClass;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private ActivityMainBinding binding;
    private List<String> list;
    private int index = 1;
    private int page = 1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        initView();

        initData();
    }

    private void initView() {
        binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
    }

    private void initData() {

        HelpClass helpClass = new HelpClass("正在加载、、、");
        binding.setHelpclass(helpClass);

        list = new ArrayList<>();
        list.clear();
        for (int i = 1; i < 201; i++) {
            list.add("测试" + (i < 10 ? "0" + i : i));
        }

        final MyRecyclerViewAdapter adapter = new MyRecyclerViewAdapter(MainActivity.this, list);
        RecyclerView.LayoutManager manager = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false);
        binding.recycleview.setAdapter(adapter);
        binding.recycleview.setLayoutManager(manager);
        binding.recycleview.addItemDecoration(new DividerItemDecoration(MainActivity.this, DividerItemDecoration.VERTICAL_LIST));

        int[] colos = <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值