zoukankan      html  css  js  c++  java
  • Android开发UI之控件-Android-PullToRefresh

    下拉刷新,使用的是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实现异步处理。

  • 相关阅读:
    4.3 DDL 数据类型
    Log4j的简要概述
    Eclipse/IDEA使用小技巧
    idea-生成key的Java代码
    Java8新特性--lamada详解
    JQuery基本语法
    EL与Velocity基本语法总结:
    RAF(RandomAccessFile)类
    Java篇-File类之常用操作
    Java篇-File类之创建删除
  • 原文地址:https://www.cnblogs.com/liyiran/p/4647921.html
Copyright © 2011-2022 走看看