博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谷歌官方SwipeRefreshLayout下拉刷新的用法。
阅读量:5334 次
发布时间:2019-06-15

本文共 2726 字,大约阅读时间需要 9 分钟。

《Android SwipeRefreshLayout:谷歌官方SDK包中的下拉刷新》

下拉刷新在如今移动开发中应用如此广泛和普遍,以至于谷歌干脆在SDK中给予支持。在android-support-v4包中,谷歌增加了SwipeRefreshLayout,该组件提供基础的下拉刷新表现能力和开放出来供开发者调用的基本接口。

1 package com.lixu.SwipeRefreshLayoutyongfa; 2  3 import java.util.ArrayList; 4 import android.app.Activity; 5 import android.os.AsyncTask; 6 import android.os.Bundle; 7 import android.support.v4.widget.SwipeRefreshLayout; 8 import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener; 9 import android.widget.ArrayAdapter;10 import android.widget.ListView;11 12 public class MainActivity extends Activity {13     private ArrayAdapter
adapter;14 private ArrayList
date;15 private SwipeRefreshLayout srl;16 private int count = 0;17 18 @Override19 protected void onCreate(Bundle savedInstanceState) {20 super.onCreate(savedInstanceState);21 setContentView(R.layout.activity_main);22 23 date = new ArrayList
();24 25 ListView lv = (ListView) findViewById(R.id.lv);26 27 srl = (SwipeRefreshLayout) findViewById(R.id.srl);28 // 设置刷新动画的颜色.29 srl.setColorSchemeResources(android.R.color.holo_green_light, android.R.color.holo_blue_bright,30 android.R.color.holo_red_light);31 32 srl.setOnRefreshListener(new OnRefreshListener() {33 // SwipeRefreshLayout接管其包裹的ListView下拉事件。34 // 每一次对ListView的下拉动作,将触发SwipeRefreshLayout的onRefresh()。35 @SuppressWarnings("unchecked")36 @Override37 public void onRefresh() {38 39 new MyAsyncTask().execute();40 41 }42 });43 adapter = new ArrayAdapter
(this, android.R.layout.simple_list_item_1, date);44 45 lv.setAdapter(adapter);46 }47 48 private class MyAsyncTask extends AsyncTask {49 @Override50 protected void onPreExecute() {51 super.onPreExecute();52 // 刷新开始53 srl.setRefreshing(true);54 }55 56 @Override57 protected Object doInBackground(Object... params) {58 // 处理一些耗时的事件59 return count++;60 }61 62 @Override63 protected void onPostExecute(Object result) {64 super.onPostExecute(result);65 // add(0,xxx)每次将更新的数据xxx添加到头部。66 date.add(0, "" + result);67 // 刷新适配器68 adapter.notifyDataSetChanged();69 // 刷新完毕70 srl.setRefreshing(false);71 }72 73 }74 75 }

xml文件:

1 
6 7
11 12
16
17 18

运行效果:

转载于:https://www.cnblogs.com/labixiaoxin/p/4991705.html

你可能感兴趣的文章
字典常用方法
查看>>
Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
查看>>
python的猴子补丁monkey patch
查看>>
架构模式: API网关
查看>>
正则验证积累
查看>>
Linux学习-汇总
查看>>
83. 删除排序链表中的重复元素
查看>>
bzoj1048 [HAOI2007]分割矩阵
查看>>
python中的__init__ 、__new__、__call__等内置函数的剖析
查看>>
Java中的编码
查看>>
PKUWC2018 5/6
查看>>
As-If-Serial 理解
查看>>
MYSQL SHOW VARIABLES简介
查看>>
雷林鹏分享:Redis 简介
查看>>
C# 网页自动填表自动登录 .
查看>>
netfilter 和 iptables
查看>>
洛谷P1005 矩阵取数游戏
查看>>
Django ORM操作
查看>>
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
查看>>
HDU-1150 Machine Schedule 二分图匹配
查看>>