iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android如何通过XListView实现上拉加载下拉刷新功能
  • 424
分享到

Android如何通过XListView实现上拉加载下拉刷新功能

2023-05-30 16:05:54 424人浏览 薄情痞子
摘要

小编给大家分享一下Android如何通过XListView实现上拉加载下拉刷新功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下## 导入XListVIew第三方库文件。通过LinkedList将刷新

小编给大家分享一下Android如何通过XListView实现上拉加载下拉刷新功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

具体内容如下

## 导入XListVIew第三方库文件。通过LinkedList将刷新数据插入到集合头部,将加载的数据放入集合尾部 ##  private Context context;  private View view;  private String path;  private XListView xlv;  private LinkedList<Data> listData;  private Handler handler = new Handler() {    @SuppressWarnings("unchecked")    public void handleMessage(android.os.Message msg) {      int code = msg.arg1;      if(msg.arg1==400){        Toast.makeText(context, "数据格式解析不正确", 0).show();      }      else{        NewsFragmentAdapter myAdapter = null;        switch (code) {        case 0:          // 默认          listData = (LinkedList<Data>) msg.obj;          myAdapter = new NewsFragmentAdapter(context, listData);          xlv.setAdapter(myAdapter);          break;        case 1:          LinkedList<Data> shualist = (LinkedList<Data>) msg.obj;          myAdapter = new NewsFragmentAdapter(context, shualist);          for (int i = 0; i < shualist.size(); i++) {            listData.addFirst(shualist.get(i));          }          myAdapter.notifyDataSetChanged();          stopLoadOrRefresh();          break;        case 2:          LinkedList<Data> loadlist = (LinkedList<Data>) msg.obj;          myAdapter = new NewsFragmentAdapter(context, loadlist);          for (int i = 0; i < loadlist.size(); i++) {            listData.addLast(loadlist.get(i));          }          myAdapter.notifyDataSetChanged();          stopLoadOrRefresh();          break;        default:          break;        }      }    };  };  @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    context=getActivity();  }  @Override  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {    view = inflater.inflate(R.layout.fragment, container, false);    path = getArguments().getString("path");    // 配置Xlist    xlv = (XListView) view.findViewById(R.id.xlv); // 获得控件    xlv.setPullRefreshEnable(true);         // 设置可以下拉刷新    xlv.setPullLoadEnable(true);          // 设置可以上拉加载    xListViewListener();              // 调用XListView的监听方法    if(path != null){      getMessage(path, 0);            // 调用方法请求数据    }    itemClickListner();               // 调用XListView条目点击监听方法    return view;  }  private void itemClickListner() {    xlv.setOnItemClickListener(new OnItemClickListener() {      @Override      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {        Intent intent=new Intent(context, WEBViewActivity.class);        intent.putExtra("path", listData.get(arg2-1).article_url);        startActivity(intent);      }    });  }  public void xListViewListener() {    xlv.setXListViewListener(new IXListViewListener() {      // 当下拉刷新时实现的操作      @Override      public void onRefresh() {        getMessage(path, 1);  // 请求网络,将新请求的内容加载到集合前端      }      // 当上拉加载时实现的操作内容      @Override      public void onLoadMore() { // 请求网络,将请求的新内容加载到集合后端        getMessage(path, 2);      }    });  }  public void getMessage(String path, final int code) {    HttpUtils utils = new HttpUtils();    // 设置刷新间隔时间,如果不设置默认一分钟后才能刷新出新内容    utils.confiGCurrentHttpCacheExpiry(0);    utils.send(HttpMethod.GET, path, new RequestCallBack<String>() {      // 请求网络失败回调的方法      @Override      public void onFailure(HttpException arg0, String arg1) {      }      // 请求网络成功回调的方法      @Override      public void onSuccess(ResponseInfo<String> arg0) {        String info = arg0.result;        Gson gson = new Gson();        LinkedList<Data> list = gson.fromJSON(info, ModelBean.class).data;        Message message = new Message();        if(list != null){          message.arg1 = code;          message.obj = list;        }else{          message.arg1=400;        }        handler.sendMessage(message);      }    });  }  private void stopLoadOrRefresh() {    // 停止加载    xlv.stopLoadMore();    // 停止刷新    xlv.stopRefresh();    // 最近一次刷新时间    xlv.setRefreshTime(getTime());  }  public String getTime() {    // 格式化时间    SimpleDateFORMat format = new SimpleDateFormat("hh:mm:ss");    Date date = new Date();    String time = format.format(date);    return time;  }

看完了这篇文章,相信你对“Android如何通过XListView实现上拉加载下拉刷新功能”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: Android如何通过XListView实现上拉加载下拉刷新功能

本文链接: https://www.lsjlt.com/news/219875.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android如何通过XListView实现上拉加载下拉刷新功能
    小编给大家分享一下Android如何通过XListView实现上拉加载下拉刷新功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下## 导入XListVIew第三方库文件。通过LinkedList将刷新...
    99+
    2023-05-30
  • MUI如何实现上拉刷新/下拉加载功能
    小编给大家分享一下MUI如何实现上拉刷新/下拉加载功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!新闻信息列表必备的功能,支持...
    99+
    2024-04-02
  • Flutter listview如何实现下拉刷新上拉加载更多功能
    目录下拉刷新 RefreshIndicator 上拉加载更多 总结:下拉刷新 在Flutter中系统已经为我们提供了google material design的刷新功能 , 样式...
    99+
    2024-04-02
  • uniapp怎么实现下拉刷新和上拉加载功能
    随着移动端开发的不断升级,开发者们对于移动应用的需求也越来越高。而在很多移动应用中,下拉刷新和上拉加载更多是必不可少的功能之一,为了提高用户体验,许多移动应用都会加入这两个功能。在这里,我们将介绍如何在uniapp中实现下拉刷新和上拉加载更...
    99+
    2023-05-14
  • Vue uni-app框架实现上拉加载下拉刷新功能
    目录实现上拉加载更多优化实现下拉刷新实现上拉加载更多 打开项目根目录中的pages.json配置文件,为subPackages分包中的商品goods_list页面配置上拉触底的距离:...
    99+
    2024-04-02
  • Vue vant-ui框架实现上拉加载下拉刷新功能
    目录知识点速记基本用法下拉刷新代码实现1.页面布局2.样式3.方法下拉刷新效果: 知识点速记 基本用法 List通过loading和finished两个变量控制加载状态,当组件滚动...
    99+
    2024-04-02
  • 微信小程序如何实现下拉加载与上拉刷新功能
    这篇文章主要介绍微信小程序如何实现下拉加载与上拉刷新功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信小程序下拉刷新上拉加载的两种实现方法实现效果图:方法一:onPullDown...
    99+
    2024-04-02
  • 微信小程序如何实现列表上拉加载下拉刷新功能
    这篇文章给大家分享的是有关微信小程序如何实现列表上拉加载下拉刷新功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.列表(本部分内容出入官方文档)对于这个功能,微信小程序中并没...
    99+
    2024-04-02
  • vue.js怎么实现拉加载以及下拉刷新功能
    本篇内容主要讲解“vue.js怎么实现拉加载以及下拉刷新功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue.js怎么实现拉加载以及下拉刷新功能”吧!上拉加...
    99+
    2024-04-02
  • vue 使用mescroll.js框架实现下拉加载和上拉刷新功能
    以下是代码是在项目中抽取出来的,都是实现下拉刷新上拉加载的要点。 注:以下不是用vue-cli写的,用vue-cli的请绕过,抱歉~ 1、mescroll 的页面的初始化 initM...
    99+
    2024-04-02
  • MUI如何实现上拉加载和下拉刷新效果
    这篇文章主要介绍了MUI如何实现上拉加载和下拉刷新效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。编写存储过程分页(此处使用T-SQL)C...
    99+
    2024-04-02
  • 在Android项目中使用RecyclerView实现一个上拉加载下拉刷新功能
    这篇文章给大家介绍在Android项目中使用RecyclerView实现一个上拉加载下拉刷新功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。核心实现package com.example.fly.recyclervi...
    99+
    2023-05-31
    recyclerview android recycle
  • Android自定义ListView实现下拉刷新上拉加载更多
    目录1、创建刷新控件1.1、创建头部View1.2、下拉事件1.3、接口回调2、上拉加载更多2.1、底部样式2.2、布局添加Listview现在用的很少了,基本都是使用Recycle...
    99+
    2024-04-02
  • Flutter实现下拉刷新和上拉加载更多
    本文实例为大家分享了Flutter实现下拉刷新和上拉加载更多的具体代码,供大家参考,具体内容如下 效果 下拉刷新 如果实现下拉刷新,必须借助RefreshIndicator,在li...
    99+
    2024-04-02
  • 在android应用中怎么添加一个上拉刷新下拉加载功能
    在android应用中怎么添加一个上拉刷新下拉加载功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。下拉刷新首先我们给出如下几个参数,后面要用:  pr...
    99+
    2023-05-31
    android roi
  • react native中怎么利用FlatList实现下拉刷新上拉加载功能
    本篇文章为大家展示了react native中怎么利用FlatList实现下拉刷新上拉加载功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。android效果图总体...
    99+
    2024-04-02
  • 小程序怎么实现上拉刷新下拉加载
    这篇文章主要介绍“小程序怎么实现上拉刷新下拉加载”,在日常操作中,相信很多人在小程序怎么实现上拉刷新下拉加载问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”小程序怎么实现上拉刷新下拉加载”的疑惑有所帮助!接下来...
    99+
    2023-06-26
  • uniapp实现下拉刷新与上拉触底加载功能的示例代码
    目录下拉刷新上拉触底加载 完整demo 效果 下拉刷新 这个用于监听该页面用户下拉刷新事件。 首先在pages.json中需要下拉刷新的页面,在styl...
    99+
    2023-05-16
    uniapp实现下拉刷新 uniapp实现上拉触底加载 uniapp下拉刷新 uniapp上拉加载
  • Flutter中怎么利用listview实现下拉刷新上拉加载更多功能
    这期内容当中小编将会给大家带来有关Flutter中怎么利用listview实现下拉刷新上拉加载更多功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。下拉刷新在Flutter中系统已经为我们提供了googl...
    99+
    2023-06-20
  • Iscrool如何实现下拉刷新功能
    这篇文章主要为大家展示了“Iscrool如何实现下拉刷新功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Iscrool如何实现下拉刷新功能”这篇文章吧。简易下...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作