PullToRefreshListView上拉刷新下拉加载

【SAP PO】SAP PO 接口配置完整教程之二REST服务对接 SAP PO 接口配置完整教程之二REST服务对接 阅读详情

导入依赖

compile 'com.github.userswlwork:pull-to-refresh:1.0.0'

         xmlns:ptr="http://schemas.android.com/apk/res-auto" 命名的控件
         ptr:ptrDrawable="@drawable/default_ptr_flip":刷新时显示的图片
        ptr:ptrAnimationStyle="flip":刷新的图片以何种方式显示出来
        ptr:ptrHeaderBackground="#383838":刷新时头部的布局
        ptr:ptrHeaderTextColor="#FFFFFF":刷新时头部字体的颜色

1.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" tools:context="com.example.pulltorefresh.MainActivity">



    <com.handmark.pulltorefresh.library.PullToRefreshListView
        xmlns:ptr="http://schemas.android.com/apk/res-auto"
        android:id="@+id/pull_listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        ptr:ptrDrawable="@drawable/default_ptr_flip"
        ptr:ptrAnimationStyle="flip"
        ptr:ptrHeaderBackground="#383838"
        ptr:ptrHeaderTextColor="#FFFFFF"
        ></com.handmark.pulltorefresh.library.PullToRefreshListView>

</LinearLayout>

2.Activity

import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.ListView;

import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.ILoadingLayout;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private PullToRefreshListView pullToRefreshListView;
    private HttpUtils httpUtils = HttpUtils.getInstance();
    private String path = "http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=15&page=";
    private int page =1;
    private List<UserBean.DataBean> list = new ArrayList<>();
    private MyBase adapter;
    private Handler handler = new Handler();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //1.定义方法
        initView();

        getData();

    }
    //设置头部底部的视图
    private void initView() {
        //获取资源ID
        pullToRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_listView);

        //2.设置模式   BOTH 可以上拉 下拉  pull_from_end代表上拉,pull_from_start代表下拉
        pullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);

        //3.都是布尔类型  第一个如果为true 时  当前设置的就是头部  如果第二个为true设置的就是底部
        final ILoadingLayout startLoadding = pullToRefreshListView.getLoadingLayoutProxy(true,false);
        startLoadding.setPullLabel("下拉刷新");
        startLoadding.setRefreshingLabel("正在刷新");
        startLoadding.setReleaseLabel("放开刷新");
        ILoadingLayout endLoadding = pullToRefreshListView.getLoadingLayoutProxy(false,true);
        endLoadding.setPullLabel("上拉加载");
        endLoadding.setRefreshingLabel("正在加载");
        endLoadding.setReleaseLabel("放开加载");


        //4.接口回调上拉下拉
        pullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            //11.在下拉完成后被回调
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                page =1;
                getData();
                //12.
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        //必须在异步中完成  在列表没有数据的时候,不再请求接口,调用当前方法
                        pullToRefreshListView.onRefreshComplete();
                    }
                },2000);


                //可以设置刷新的时间....
                startLoadding.setLastUpdatedLabel("上次更新时间:"+new SimpleDateFormat("HH:mm").format(new Date(System.currentTimeMillis())));//last最近的,最后一次update修改/更新

            }
            //11.在上拉完成后被回调
            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {

                page+=1;
                getData();
                //12.
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {

                        pullToRefreshListView.onRefreshComplete();
                    }
                },2000);


            }
        });
        //9.创建适配器
        adapter = new MyBase(list,MainActivity.this);
        pullToRefreshListView.setAdapter(adapter);

    }


    //5.得到数据
    public void getData(){

        final String url = path+page;

        httpUtils.getdata(url);

        //6.接口回调得到数据
        httpUtils.setHttpListener(new HttpUtils.HttpListener() {
            @Override
            public void getjsondata(String json) {
                //开始解析
                Gson gson = new Gson();

                UserBean userBean = gson.fromJson(json, UserBean.class);
                //7.解析出来的数据
                List<UserBean.DataBean> data = userBean.getData();

                //8.在list集合中添加数据
                Log.i("TAG",data.size()+"");
                //如果是第一页的数据 清空集合
                if(page == 1){
                    list.clear();
                }
                //将请求到的数据刷新
                list.addAll(data);
                //10.刷新适配器
                adapter.notifyDataSetChanged();

            }
        });
    }
}




【ubuntu】如何搭建AFTR+B4环境 为何要使用ipv6 目前ipv4地址已经不够用了,而IPv6采用128位地址长度,几乎可以不受限制地提供地址。而且ipv6具有更高的安全性。 主流的ipv6方案 1.双栈方案 :所有设备同时支持IPv4/IPv6协议栈,核心理念在于其传送网同时支持IPv4和IPv6 2.DS-Lite方案 :IPv4‐in‐IPv6 隧道和 NAT 这两个基本技术,同时支持IPV4与IPV6,对于ipv4用户,可以通过ipv6隧道与ipv4业务平台实现通信;针对ipv6用户,可直接通过ipv6网络通信。 3.6RD方案 : 阅读详情

相关推荐

深空探测处理软件USGS-ISIS的下载安装

深空探测处理软件USGS-ISIS下载安装教程

qq_31721595的博客 3313

PullToRefresh使用详解(一)--构建下拉刷新的listView

前言:前几天写了篇关于PullToRefresh控件的DEMO导入的博客,但由于当时没有用到,所以就没细往下讲,现在开始到了实战阶段,用到了PullToRefresh的listView样式,网上有讲的,但讲的不多,而且没有详细的例子来说,下面我讲讲这个东东的实现方法。 效果图:

启舰 16万+

DC综合中set_dft_signal的实战配置与优化策略

本文深入解析了DC综合中set_dft_signal命令的实战配置与优化策略。文章从命令的核心作用出发,详细拆解了-view、-type、-usage等关键参数,并通过扫描使能与时钟门控的实战案例,展示了如何正确配置以实现测试模式下的功耗优化。同时,文章总结了高级优化策略、与低功耗流程的协同方法以及常见错误排查清单,旨在帮助数字芯片设计工程师构建高可测性、低功耗的稳健DFT基础。

weixin_28347369的博客 403

安卓学习日记——PullToRefresh

集成PullToRefresh组件 PullToRefresh托管在Github上的开源组件,用于实现下拉刷新功能 https://github.com/chrisbanes/Android-PullToRefresh 在AS中集成PullToRefresh组件: 1.创建项目 2.导入已下载的PullToRefresh中的library 3.修改错误 出错的话就把上面那句删了,Androi...

chen_xiaoke的博客 329

告别电源纹波!手把手教你用UCC28019设计一个高效率PFC模块(附完整原理图与BOM清单)

本文详细介绍了如何使用UCC28019设计高效率PFC模块,解决电源纹波问题。通过优化补偿网络、关键元器件选型及PCB布局,实现功率因数提升至0.99以上,降低输入电流谐波。附完整原理图与BOM清单,适用于电赛等快速开发场景。

weixin_42652674的博客 335

BMW Standard Tools 宝马FSC工具套装下载

这是一款非常专业的一套宝马编码工具,懂行的人自然知道他的用处,不懂行的人,我解释再多也不会明白的,需要的拿去吧。软件名:BMW Standard Tools包含工具:BMW Coding Tool v2.50、change Language、CIC Mafia、Dr.Gini B021、EasyConnect、EDIABAS Konfigurator v1.1、EDIABAS Konfigurator v2.0.0、FSC-Tools_2.18、FSTool_v2_CarServer、INPA、ITool

Zj_arrow的博客 6998

开源项目PullToRefresh详解(一)——PullToRefreshListView

   开源项地址:https://github.com/chrisbanes/Android-PullToRefresh 下拉刷新这个功能我们都比较常见了,今天介绍的就是这个功能的实现。我将按照这个开源库的范例来一点一点介绍,今天是介绍比较常见的PullToRefreshListView,是让listView有下拉刷新功能。 1.下载项目包,将library包导入即可,其他的包暂时不用 2...

weixin_34007291的博客 501

从零组装一台会‘看’的无人机:手把手教你配置NUC机载电脑与D435深度相机(环境搭建篇)

本文详细介绍了如何从零开始组装一台具备视觉能力的智能无人机,重点讲解了NUC机载电脑与D435深度相机的配置方法。通过Ubuntu系统安装、ROS环境搭建、深度学习框架配置等步骤,帮助开发者实现无人机的自主避障和目标跟踪功能。文章还提供了性能优化和常见问题解决方案,是无人机视觉系统开发的实用指南。

weixin_30915275的博客 398

Android PullToRefresh (ListView GridView 下拉刷新) 使用详解

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38238749,本文出自:【张鸿洋的博客】 群里一哥们今天聊天偶然提到这个git hub上的控件:pull-to-refresh,有兴趣的看下,例子中的功能极其强大,支持很多控件。本篇博客详细给大家介绍下ListView和GridView利用pull-to-rerfesh 实现下拉...

810364804 570

大模型选型实战:为OpenClaw匹配最优“大脑”的全维度考量

大模型不是越贵越好,也不是参数越高越好,适合自己的使用场景才是最好的。按照我的方法,先明确自己的需求,再选对应的模型,配置多模型自动路由,既能保证体验,又能最大限度降低成本。我自己用这套配置用了半年多,不管是写文章、写代码还是处理复杂问题,都完全够用,成本也很低,大家可以参考一下。如果不知道选什么模型,可以在评论区说一下你的使用场景。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 343

前言:关于作者吴秋生博士与此书简介

博士现为田纳西大学,诺克斯维尔分校,地理系的副教授。他的研究兴趣包括地理信息科学(GIS)、遥感和环境建模。更具体地说,对应用地理空间大数据、机器学习和云计算(例如,谷歌地球引擎、微软行星计算机)来研究环境变化,特别是地表水和湿地淹没动态。吴博士是开放科学和可重复研究的倡导者。他开发了几个用于高级地理空间分析的开源软件包(例如,吴博士还在YouTube上发布了数百个有关GIS和地图绘制的视频。更多有关他的开源项目信息,请访问GitHub(查看他的YouTube频道。.....................

韩天放 6089

PullToRefreshListView 的使用

xmlns:ptr="http://schemas.android.com/apk/res-auto"         android:id="@+id/carsList"         android:layout_width="fill_parent"         android:layout_height="fill_parent"         android:layout

YoYo_Newbie的专栏 1058

华为OD机试 C++【TLV解析】

这里的valueOffset指的是value在整串消息里的起始位置(从0开始数)。这表示tag是15(十六进制的0F),length是4,接着的8个字符是value的内容。你收到了一串由两端设备传递的TLV格式的消息,现在你需要根据这串消息生成一个对应的(tag, length, valueOffset)列表。tag是15,对应的数据长度为4,value从第3个字节开始,所以偏移量为2。第二行:一个数字n,表示我们给出的tag的数量(0 < n < 1000)。第一行:一串消息,长度不超过10000。

wtswts1232的博客 482

超简单的 listview的第三方控件PullToRefreshListView 上拉刷新,下拉加载更多,分页加载

超简单的 listview的第三方控件PullToRefreshListView 上拉刷新,下拉加载更多,分页加载

随意而然的专栏 5578

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

TabLayout横向滑动,DrawerLayout侧滑,PullToRefreshListView上拉刷新下拉加载联用

Activity public class MainActivity extends AppCompatActivity { ViewPager vp_ma; //ViewPager LbUtils Lu;//数据请求的包 LbBean lb; //LbBean包 LbApdata lbApdata; //轮播图的适配器 List list; //用于存

BoBrother的博客 571

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

pulltorefreshListview上拉刷新,下拉加载

1.先写布局 &lt;com.handmark.pulltorefresh.library.PullToRefreshListView android:id="@+id/pull_refresh_list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:...

weixin_44258714的博客 226

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上拉刷新 下拉加载更多-PullToRefreshListView的简介

1) 在开发过程中经常需要上拉下拉操作,比如查看新闻时需要上拉刷新、下拉加载更多,这里就要用到PullToRefreshListView第三方库。 2) lib库下载地址: http://download.csdn.net/detail/qy7941237/9353667 3) PullToRefreshListView的用法和ListView非常相似,在实际使用的过程中我们只需要知道如何控制

戚--学习 675

PullToRefreshListView多条目加载上拉刷新下拉加载

XML布局 主页面main布局 com.handmark.pulltorefresh.library.PullToRefreshListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/pull" > com.handm

dp666666的博客 529

PullToRefreshListView 实现上拉刷新下拉加载

xml布局代码: &amp;amp;lt;com.handmark.pulltorefresh.library.PullToRefreshListView android:id=&amp;quot;@+id/pullToRefreshListView&amp;quot; android:layout_width=“match_parent” android:layout_height=“match_parent”&amp;amp;gt; &amp;amp

qq_42805756的博客 274

六、Frag1 实现pulltorefreshlistview上拉刷新下拉加载

1.布局 &amp;amp;lt;com.handmark.pulltorefresh.library.PullToRefreshListView android:id=&amp;quot;@+id/pulllist&amp;quot; android:layout_width=“fill_parent” android:layout_height=“fill_parent” android:cacheColorHint=&amp;quot;#00000000&am

weixin_44258714的博客 144

PullreFreshLibrary(PullToRefreshListView)上拉刷新,下拉加载(—)

PullreFreshLibrary上拉刷新,下拉加载

LI0_0BIN的博客 1098

TabLayout+PullToRefreshListView上拉刷新,下拉加载,imageloader自定义

主类布局(TabLayout需要道包design)     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     xmlns:app="http://schemas.andr

AnGuoEr3344的博客 821

Sqlite_PullToRefreshListView(数据库,上拉刷新,下拉加载)

效果图:需要添加的依赖有: HttpClient依赖useLibrary 'org.apache.http.legacy' limageloader远程依赖  compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' Tablayout远程依赖  compile'com.android.support:d...

houyingshang的博客 243

PullToRefresh上拉刷新和下拉刷新

项目很多时候都需要做ListView交互,我现在也在做,本想着按着效果图来做就可以了,因为刚到公司不久,业务不是很熟悉,做出来之后,跟效果图一样,拿给产品看,结果他说他忘记考虑大数据的情况下要分页加载,我心中默默的问候了。。。。。。经过一天的考虑,他定下是可以同时上拉刷新和下拉刷新,我在网上各种百度资料,找到支持上拉刷新和下拉刷新源码https://github.com/chrisbanes/And

wanzhicheng的博客 1298

RecyclerView和PullToRefreshListView的对比

项目中上拉刷新和下拉加载一直都是比较常见的;以前一般都是重写ListView或直接用PullToRefreshListView的框架;最近尝试用RecyclerView来实现下拉加载上拉刷新也是不错的。 如图是Demo的效果图: 第一个效果图是用RecyclerView实现加的几个静态数据; 第二个是参考别人写的RefreshRecyclerView来实现上拉刷新下拉加载;我只...

alf13610的博客 116

Android ListView的上拉刷新,下拉加载功能(pull - to -refesh)

最近研究了一下Android ListView的上拉刷新,下拉加载功能,采用了目前比较火的PullToRefresh,他是目前实现比较好的下拉刷新的类库。目前他支持的控件有:ListView, ExpandableListView,GridView,WebView等。把自己的学习过程记录一下: 步骤: 1.从github下载:Android-PullToRefresh的库文件,导入到项目中(下

东子的博客 细节决定成败,点滴铸就辉煌。 1194
上一篇: ViewPager+holder自动轮播图片
下一篇: Banner(图片轮播)框架的使用
Android_ZMY
博客等级 码龄8年 2粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值