Android -- 官方下拉刷新SwipeRefreshLayout
V4的兼容包
API
大概就这4个常用的方法。
code
布局

- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity" >
- <android.support.v4.widget.SwipeRefreshLayout
- android:id="@+id/swipe"
- android:layout_width="match_parent"
- android:layout_height="match_parent" >
- <ListView
- android:id="@+id/listview"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content" />
- </android.support.v4.widget.SwipeRefreshLayout>
- </RelativeLayout>

MainActivty

- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- listView = (ListView) findViewById(R.id.listview);
- mSwipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe);
- list = new ArrayList<MyTextClass>();
- Map<String, String> maps = new HashMap<String, String>();
- maps.put("1", "2");
- myHandler = new MyHandler();
- client = new MyHttpClient(myHandler);
- myThread = new MyThread(client,"http://192.168.1.4/json/index.php",maps,GETJSON);
- myHandler.setThread(myThread);
- myHandler.setHandlerExtraHandleMessage(new MyHandler.HandlerExtraHandleMessage()
- {
- @Override
- public void handleMessage(Message msg) {
- switch (msg.what) {
- case GETJSON:
- String strJson1 = (String) msg.obj;
- Json json1 = new Json(strJson1);
- try {
- list = json1.getMyTextClass();
- } catch (JSONException e) {
- e.printStackTrace();
- }
- myBaseAdapter = new MyBaseAdapter(MainActivity.this, list);
- listView.setAdapter(myBaseAdapter);
- break;
- case REFRESH:
- String strJson2 = (String) msg.obj;
- Json json2 = new Json(strJson2);
- //list.clear();
- try {
- list = json2.getMyTextClass();
- } catch (JSONException e) {
- e.printStackTrace();
- }
- if(myBaseAdapter != null)
- {
- myBaseAdapter.setList(list);
- myBaseAdapter.notifyDataSetChanged();
- }
- else
- {
- MyBaseAdapter myBaseAdapter2 = new MyBaseAdapter(MainActivity.this, list);
- listView.setAdapter(myBaseAdapter2);
- }
- mSwipeLayout.setRefreshing(false);
- break;
- default:
- System.out.println("Other Message");
- break;
- }
- super.handleMessage(msg);
- }
- });
- Map<String, String> maps2 = new HashMap<String, String>();
- maps.put("1", "2");
- MyRefreshListener myRefreshListener = new MyRefreshListener(myHandler, maps2, REFRESH);
- mSwipeLayout.setOnRefreshListener(myRefreshListener);
- mSwipeLayout.setColorScheme(android.R.color.holo_green_dark, android.R.color.holo_green_light,
- android.R.color.holo_orange_light, android.R.color.holo_red_light);
- }

我是天王盖地虎的分割线
源代码:http://pan.baidu.com/s/1dD1Qx01
listview异步.zip
Android -- 官方下拉刷新SwipeRefreshLayout的更多相关文章
- Android 官方下拉刷新 SwipeRefreshLayout
0.build.gradle compile 'com.android.support:support-v4:23+' 1.布局文件 <android.support.v4.widget.Swi ...
- android官方下拉刷新控件SwipeRefreshLayout的使用
可能开发安卓的人大多数都用过很多下拉刷新的开源组件,但是今天用了官方v4支持包的SwipeRefreshLayout觉得效果也蛮不错的,特拿出来分享. 简介:SwipeRefreshLayout组件只 ...
- 【转】Android官方下拉刷新控件 SwipeRefreshLayout
今天在Google+上看到了SwipeRefreshLayout这个名词,遂搜索了下,发现竟然是刚刚google更新sdk新增加的一个widget,于是赶紧抢先体验学习下. SwipeRefreshL ...
- android——官方下拉刷新组件SwipeRefreshLayout(转)
一.问题描述 在android开发中,使用最多的数据刷新方式就是下拉刷新了,而完成此功能我们使用最多的就是第三方的开源库PullToRefresh.现如今,google也忍不住推出了自己的下拉组件Sw ...
- Android listview下拉刷新 SwipeRefreshLayout
今天在Google+上看到了SwipeRefreshLayout这个名词,遂搜索了下,发现竟然是刚刚google更新sdk新增加的一个widget,于是赶紧抢先体验学习下. SwipeRefreshL ...
- Android原生下拉刷新SwipeRefreshLayout实践
本篇文章翻译自Ravi Tamada的Android Swipe Down to Refresh ListView Tutorial 首先来看一下效果图 你应该发现很多的android app比如Tw ...
- Android Material Design控件使用(四)——下拉刷新 SwipeRefreshLayout
使用下拉刷新SwipeRefreshLayout 说明 SwipeRefreshLayout是Android官方的一个下拉刷新控件,一般我们使用此布局和一个RecyclerView嵌套使用 使用 xm ...
- Android智能下拉刷新加载框架—看这些就够了
一些值得学习的几个下拉刷新上拉加载开源库 Android智能下拉刷新框架-SmartRefreshLayout 支持所有的 View(AbsListView.RecyclerView.WebView. ...
- Xamarin. Android实现下拉刷新功能
PS:发现文章被其他网站或者博客抓取后发表为原创了,给图片加了个水印 下拉刷新功能在安卓和iOS中非常常见,一般实现这样的功能都是直接使用第三方的库,网上能找到很多这样的开源库.然而在Xamarin. ...
随机推荐
- JQUERY1.9学习笔记 之可见性过滤器(一) 隐藏选择器
描述:选择所有隐藏的元素. jQuery( ":hidden" ) 例:显示出所有隐藏的div元素,并对隐藏的input元素计数. <!doctype html>< ...
- ubuntu 安装 open in teminal
sudo apt-get install nautilus-open-terminalnautilus -q
- phpcms栏目调用
{loop subcat(0,0,0,$siteid) $r} {php $num++} <h3><a href="{$r[url]}">{$r[catna ...
- 【转】HTML5 LocalStorage 本地存储
原文见:http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html 说到本地存储,这玩意真是历尽千辛万苦才走到HTML5这一步 ...
- 【转】app后端如何选择合适的数据库产品
转自:http://blog.csdn.net/newjueqi/article/details/44003503 app后端的开发中,经常要面临的一个问题是:数据放在哪里? mysql ?redis ...
- android的padding和margin的区别
android:padding和android:layout_margin的区别:padding是站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离. margin则是站在 ...
- C#程序设计基础——类、对象、方法
类与对象 类 类是一种构造,通过使用该构造,用户可以将其他类型的变量.方法和事件组合在一起,从而创建自定义类型.类就像一个蓝图,它定义类型的数据和行为. 对象 定义类之后,便可通过将类加载到内存中来使 ...
- Android中SharedPreferences使用方法介绍
一.Android SharedPreferences的简介 SharedPreferences是一种轻型的Android数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用 ...
- 【HDOJ】2425 Hiking Trip
优先级队列+BFS. #include <iostream> #include <cstdio> #include <cstring> #include <q ...
- Keepalived实现Redis Failover
一.环境说明 操作系统版本:RHEL 5.4_64 redis版本:2.8.17 keepalived版本:1.1.15 master:10.142.130.81 slave: 10.142.130 ...