PullToRefreshListView 的简单实现

本文介绍如何在Android应用中实现PullToRefreshListView组件。通过导入库文件,并在XML布局中定义PullToRefreshListView控件,再配合Activity中的代码设置上下拉刷新功能,实现了列表视图的动态更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.想要实现

PullToRefreshListView

先要导入  

PullToRefreshListView   的libary包   并实现联动
2.在xml中实现
PullToRefreshListView   的控件
<com.handmark.pulltorefresh.library.PullToRefreshListView
    android:id="@+id/pull_refresh_list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:cacheColorHint="#00000000"
    android:divider="#19000000"
    android:dividerHeight="4dp"
    android:fadingEdge="none"
    android:fastScrollEnabled="false"
    android:footerDividersEnabled="false"
    android:headerDividersEnabled="false"
    android:smoothScrollbar="true" />
3.在Activity 中实现
PullToRefreshListView  的上拉下拉效果
//获取控件
   pi = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);
      //设置可以上拉
      pi.setMode(PullToRefreshBase.Mode.BOTH);

       //添加头布局使用的方法
//      ListView refreshableView = pi.getRefreshableView();
   //   refreshableView.addHeaderView();
      //设置上下拉得监听事件
      shuju();
      pi.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
          //下拉
          @Override
          public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
             data.clear();
              shuju();
          }
          //上拉
          @Override
          public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
            la();

          }
      });
public void shuju(){
    new Thread(){
        @Override
        public void run() {
            super.run();
            final String getjson = Qinqiu.getjson();
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Gson gson = new Gson();
                    JBean jBean = gson.fromJson(getjson, JBean.class);
                    data = jBean.data;
                    sheipei = new Sheipei();
                    pi.setAdapter(sheipei);
                    pi.onRefreshComplete();//设置让刷新关闭
                }
            });
        }
    }.start();
}
public void la(){
    new Thread(){
        @Override
        public void run() {
            super.run();
           // final String getjson = Qinqiu.getjson();
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    data.addAll(data);
                    sheipei.notifyDataSetChanged();//刷新适配器
                    pi.onRefreshComplete();//设置让刷新关闭
                    //pi.onRefreshComplete();//设置让刷新关闭
                }
            });
        }
    }.start();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值