• 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实现异步处理。

  • 相关阅读:
    js调用后台方法
    Js 实现trim方法
    Service获取客户端IP地址(java)
    ASP.NET中页面传值
    Asp.net 实现选择文件批量下载
    js调用后台代码
    获取webservice客户端IP地址 (C# java )
    使 WebBrowser 更简单的新加和执行 js, 可安装 jQuery 脚本的 C# 开源代码 IEBrowse...
    Mac下各种网络命令的使用
    Java关键字
  • 原文地址:https://www.cnblogs.com/liyiran/p/4647921.html
Copyright © 2020-2023  润新知