下拉刷新,使用的是Android-PullToRefresh,Github--https://github.com/chrisbanes/Android-PullToRefresh

PullToRefresh的简单使用办法

1.通过GitHub把相关的lib下载下来,导入到ADT

下载下来是这些文件

然后导入到ADT,导入以后是4个工程

LauncherActivity
PullToRefreshListFragment
PullToRefreshViewPager
library

假如导入以后,工程上有红色错误的话,点击工程右键-》Properties-》Android,在Library中,把错误的library remove掉,然后点击add按钮,重新添加就可以了。

2.新建一个工程,假如新建的工程的Console中出现support.v4包版本不一致的提示信息,把新建工程中的V4都复制和替换下载下来的lib的v4

3.PullToRefresh的使用

在XML文件中

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:paddingBottom="@dimen/activity_vertical_margin"
  6. android:paddingLeft="@dimen/activity_horizontal_margin"
  7. android:paddingRight="@dimen/activity_horizontal_margin"
  8. android:paddingTop="@dimen/activity_vertical_margin"
  9. android:orientation="vertical"
  10. tools:context="com.lijingbo.learnpulltorefruse.MainActivity" >
  11.  
  12. <com.handmark.pulltorefresh.library.PullToRefreshListView android:id="@+id/lv"
  13. android:layout_width="match_parent"
  14. android:layout_height="match_parent"/>
  15.  
  16. </LinearLayout>

在JAVA文件中

  1. public class MainActivity extends Activity {
  2. private ArrayAdapter<String> adapter;
  3. private PullToRefreshListView lV;
  4. private List<String> data;
  5. private Handler handler=new Handler(){
  6. @Override
  7. public void handleMessage(Message msg) {
  8. // TODO Auto-generated method stub
  9. switch (msg.what) {
  10. case 1:
  11. data.add("天津");
  12. data.add("西安");
  13. lV.onRefreshComplete();
  14. break;
  15. default:
  16. break;
  17. }
  18. }
  19. };
  20.  
  21. @Override
  22. protected void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. setContentView(R.layout.activity_main);
  25.  
  26. data = new ArrayList<String>();
  27. data.add("南京");
  28. data.add("上海");
  29. data.add("承德");
  30.  
  31. lV=(PullToRefreshListView) findViewById(R.id.lv);
  32. adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, data);
  33. lV.setAdapter(adapter);
  34. lV.setOnRefreshListener(new OnRefreshListener<ListView>() {
  35.  
  36. @Override
  37. public void onRefresh(PullToRefreshBase<ListView> refreshView) {
  38. // TODO Auto-generated method stub
  39. new Thread(new Runnable() {
  40.  
  41. @Override
  42. public void run() {
  43. // TODO Auto-generated method stub
  44. try {
  45. Thread.sleep(3000);
  46. } catch (InterruptedException e) {
  47. // TODO Auto-generated catch block
  48. e.printStackTrace();
  49. }
  50. Message msg = new Message();
  51. msg.what = 1;
  52. handler.sendMessage(msg);
  53. }
  54. }).start();
  55. }
  56. });
  57. }
  58.  
  59. }

PullToRefreshListView主要使用:

1.通过findviewbyid()方法找到下拉刷新控件

2.设置adapter,然后使用setAdapter()方法,把适配器和数据列表绑定

3.使用OnRefreshListener<ListView>()监听器,重写该监听器的onRefresh()方法,

4.使用setOnRefreshListener()方法设置监听器。

5.onRefresh()方法中通过Handler实现异步处理。

Android开发UI之控件-Android-PullToRefresh的更多相关文章

  1. Android零基础入门第17节:Android开发第一个控件,TextView属性和方法大全

    原文:Android零基础入门第17节:Android开发第一个控件,TextView属性和方法大全 前面简单学习了一些Android UI的一些基础知识,那么接下来我们一起来详细学习Android的 ...

  2. Android开发之日历控件实现

    Android开发之日历控件实现:以下都是转载的. 日历控件 日历控件 日历控件 日历控件

  3. Android开发:文本控件详解——TextView(一)基本属性

    一.简单实例: 新建的Android项目初始自带的Hello World!其实就是一个TextView. 在activity_main.xml中可以新建TextView,从左侧组件里拖拽到右侧预览界面 ...

  4. Android开发:文本控件详解——TextView(二)文字跑马灯效果实现

    一.需要使用的属性: 1.android:ellipsize 作用:若文字过长,控制该控件如何显示. 对于同样的文字“Android开发:文本控件详解——TextView(二)文字跑马灯效果实现”,不 ...

  5. Android开发之基本控件和详解四种布局方式

    Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...

  6. Android开发:文本控件详解——EditText(一)基本属性

    一.简单实例: EditText输入的文字样式部分的属性,基本都是和TextView中的属性一样. 除此之外,EditText还有自己独有的属性. 二.基本属性: hint  输入框显示的提示文本  ...

  7. Android系统UI交互控件Action Bar初探

    过年期间,Google正式宣布取消Android系统中MENU键的使用,也就是基于Android 4.0系统的手机都应没有MENU这一固定按键.这无疑是个变革性的改动,在我眼中,这似乎把Android ...

  8. android 开发-ListView列表显示控件的实现

    列表的显示需要三个元素: 1.ListVeiw 用来展示列表的View. 2.适配器 用来把数据映射到ListView上的中介. 3.数据    具体的将被映射的字符串,图片,或者基本组件. 根据列表 ...

  9. Android开发:文本控件详解——RadioButton和CheckBox(一)基本属性

    一.RadioButton和RadioGroup: RadioButton是单个的圆形单选框,而RadioGroup是可以容纳多个RadioButton存在的容器,因此RadioButton和Radi ...

随机推荐

  1. ASP.NET 常识

    1..NET是什么?         .Net全称.NET Framework是一个开发和运行环境,         该战略是微软的一项全新创意,         它将使得"互联网行业进入一 ...

  2. JavaScript学习笔记(1)——JavaScript简介

          JavaScript一种解释性脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,该引擎为浏览器的一部分.JavaScript最早是用 ...

  3. 03_线程的创建和启动_实现Runnable接口方式

    [线程的创建和启动的步骤(实现Runnable接口方式)] 1.定义Runnable接口的实现类,并重写其中的run方法.run()方法的方法体是线程执行体. class SonThread  imp ...

  4. lambda表达式————一看就会

    这里没有过多讲解,只有几个连接,进入看,看完后你就会觉得什么博客对lambda的介绍都是浮云,不是片面就是不准确. 链接地址: 1: https://msdn.microsoft.com/en-us/ ...

  5. 一台Ubuntu server上安装多实例MySQL

    受环境所迫,在一台Ubuntu server上安装多个实例MySQL. 手动安装MySQL 环境:Ubuntu server 11.10 64bit + mysql-5.5.17-linux2.6-x ...

  6. javascripct字符串

    String 对象 String 对象用于处理文本(字符串). 创建 String 对象的语法: new String(s); String(s); 参数 参数 s 是要存储在 String 对象中或 ...

  7. Websocket协议之握手连接

    Websocket协议是为了解决web即时应用中服务器与客户端浏览器全双工通信的问题而设计的,是完全意义上的Web应用端的双向通信技术,可以取代之前使用半双工HTTP协议而模拟全双工通信,同时克服了带 ...

  8. Intellij IDEA 14的注册码

    IntelliJ IDEA 14 注册码 IntelliJ IDEA 14 下载地址: IntelliJ IDEA 14 下载 分享几个license: (1) key:IDEA value:6115 ...

  9. protel DXP的类矢量图功能

    一.概述 在写论文的过程中,我们经常需要将protel DXP上的原理图贴入到WORD中.我们可以选择使用截图工具,然后再导入到WORD中.但是由于普通截图图形文件都是位图文件,当我们将图形文件导入W ...

  10. Random.Next获取随即数

    Random random = new Random(); random.Next()--------------返回非负的一个随机数. random.Next(int  maxValue)----- ...