关闭

第三方控件PullToRefresh使用过程

标签: Android
292人阅读 评论(0) 收藏 举报
分类:

先到githhub找到chrisbanes/Android-pulltorefresh.(支持的组件多,也支持上下刷新。)注意v4包的导入问题

下载地址:https://github.com/chrisbanes/Android-PullToRefresh

遇到问题1:设置ptr属性,没代码提示。我是到library直接复制。(谁有好点方法?)

                2:设置涮新模式为both的setonRefreshListener(new onRefresh2)时没显示方法。

布局代码:

  1.     <com.handmark.pulltorefresh.library.PullToRefreshListView  
  2.         android:id="@+id/pull_to_refresh_listview"  
  3.         android:layout_height="fill_parent"  
  4.         android:layout_width="fill_parent" /> 
MainActivity源码:
  1. package com.mpulltorefreshdemo;  
  2.   
  3. import java.util.Arrays;  
  4. import java.util.LinkedList;  
  5.   
  6. import android.app.Activity;  
  7. import android.os.AsyncTask;  
  8. import android.os.Bundle;  
  9. import android.text.format.DateUtils;  
  10. import android.view.Menu;  
  11. import android.widget.ArrayAdapter;  
  12. import android.widget.ListView;  
  13.   
  14. import com.handmark.pulltorefresh.library.PullToRefreshBase;  
  15. import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener;  
  16. import com.handmark.pulltorefresh.library.PullToRefreshListView;  
  17.   
  18. public class MainActivity extends Activity {  
  19.     private PullToRefreshListView mPullToRefreshListView;  
  20.     private LinkedList<String> mListItems;  
  21.     private ArrayAdapter<String> mAdapter;  
  22.   
  23.     @Override  
  24.     protected void onCreate(Bundle savedInstanceState) {  
  25.         super.onCreate(savedInstanceState);  
  26.         setContentView(R.layout.activity_main);  
  27.           
  28.         // Set a listener to be invoked when the list should be refreshed.  
  29.         mPullToRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_to_refresh_listview);  
  30.         mPullToRefreshListView.setOnRefreshListener(new OnRefreshListener<ListView>() { 
  31.  //我用onRefreshListener2时没有下面的onRefresf方法。
  32.             @Override  
  33.             public void onRefresh(PullToRefreshBase<ListView> refreshView) {  
  34.                 String label = DateUtils.formatDateTime(getApplicationContext(), System.currentTimeMillis(),  
  35.                         DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_ALL);  
  36.                   
  37.                 // Update the LastUpdatedLabel  
  38.                 refreshView.getLoadingLayoutProxy().setLastUpdatedLabel(label);  
  39.                   
  40.                 // Do work to refresh the list here.  
  41.                 new GetDataTask().execute();  
  42.             }  
  43.         });  
  44.           
  45.         ListView actualListView = mPullToRefreshListView.getRefreshableView();  
  46.           
  47.         mListItems = new LinkedList<String>();  
  48.         mListItems.addAll(Arrays.asList(mStrings));  
  49.           
  50.         mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mListItems);  
  51.         actualListView.setAdapter(mAdapter);  
  52.     }  
  53.       
  54.     private class GetDataTask extends AsyncTask<Void, Void, String[]> {  
  55.   
  56.         @Override  
  57.         protected String[] doInBackground(Void... params) {  
  58.             // Simulates a background job.  
  59.             try {  
  60.                 Thread.sleep(4000);  
  61.             } catch (InterruptedException e) {  
  62.             }  
  63.             return mStrings;  
  64.         }  
  65.         @Override  
  66.         protected void onPostExecute(String[] result) {  
  67.             mListItems.addFirst("Added after refresh...");  
  68.             mAdapter.notifyDataSetChanged();  
  69.               
  70.             // Call onRefreshComplete when the list has been refreshed.  
  71.             mPullToRefreshListView.onRefreshComplete();  
  72.             super.onPostExecute(result);  
  73.         }  
  74.     }  
  75.   
  76.     @Override  
  77.     public boolean onCreateOptionsMenu(Menu menu) {  
  78.         // Inflate the menu; this adds items to the action bar if it is present.  
  79.         getMenuInflater().inflate(R.menu.main, menu);  
  80.         return true;  
  81.     }  
  82.   
  83.     private String[] mStrings = { "John""Michelle""Amy""Kim""Mary",  
  84.             "David""Sunny""James""Maria""Michael""Sarah""Robert",  
  85.             "Lily""William""Jessica""Paul""Crystal""Peter",  
  86.             "Jennifer""George""Rachel""Thomas""Lisa""Daniel""Elizabeth",  
  87.             "Kevin" };  
  88. }  

  1.     <com.handmark.pulltorefresh.library.PullToRefreshListView  
  2.         android:id="@+id/pull_to_refresh_listview"  
  3.         android:layout_height="fill_parent"  
  4.         android:layout_width="fill_parent" />  
0
0
查看评论

Android Studio导入PullToRefresh第三方控件(已验证可行)

转载自:http://www.cnblogs.com/rwxwsblog/p/4901193.html   Android Studio开发App项目时引入第三方库是个比较麻烦的事情。之前导入Volley就折腾了好久,导入下拉刷新控件PullToRefresh时又碰到了各种问题。在...
  • shw372029857
  • shw372029857
  • 2015-10-26 19:59
  • 1613

在android中引用第三方插件pulltorefresh

1.第一步:如果你没有pulltorefresh这个插件的包你可以去网上下一个,我这里推荐大家一个网址:www.github.com 进去之后直接搜pull to refresh就可以直接下载了,然后就会存到你的硬件中,记住位置。然后解压,然后打开,找到library文件夹打开,然后赋值路径。 2...
  • desert568
  • desert568
  • 2017-07-23 21:33
  • 97

PullToRefresh 使用

参考   点击打开链接 xml布局:      <com.handmark.pulltorefresh.library.PullToRefreshListView xmlns:ptr="http://sc...
  • u012221046
  • u012221046
  • 2016-10-20 14:16
  • 259

Android PullToRefresh 完全解析

PullToRefresh是很多项目都使用的刷新加载框架,大多数情况下我们不需要对源码做任何调整,它提供的强大配置功能就足以满足我们的需求,而且框架已经相当稳定,正因如此受到大家的欢迎!     下面会分几篇博客来介绍PullToRefresh框架的原理,以及如何在框架基础上...
  • xuehuayous
  • xuehuayous
  • 2015-12-24 15:57
  • 6331

pullToRefresh插件的使用方法

app中“发现”模块中有一个功能是“附近好友”,采用的是ListView加载好友头像与昵称,使用了第三方插件android-pullToRefresh,但是当我将所有设置好后,发现根本加载不出来,原因是布局文件中的layout_height不能用wrap_content,必须用match_paren...
  • lvyuan1234
  • lvyuan1234
  • 2016-12-30 10:21
  • 380

Asp.net MVC2使用第三方控件

<br />    ASP.net MVC框架提供了大量的HTML渲染的方法和控件,但是使用起来有诸多的不便。对于有经验的设计者使用HTML helpers可以构建一个简单的用户界面,然后加上一些HTML和css就能构建出非常漂亮的界面。但是,对开发人员来说...
  • csdbfans
  • csdbfans
  • 2010-10-11 21:21
  • 1238

PullToRefresh的简单使用

在做android项目的时候,我们经常要用到上拉刷新列表,下拉刷新列表的功能,这里简单介绍一个PullToRefresh的使用。   一,下载PullToRefresh,地址:https://github.com/chrisbanes/Android-PullToRefresh。这里面,我们只要其...
  • chenguang79
  • chenguang79
  • 2015-01-27 15:00
  • 4704

在android studio中导入开源库PullToRefresh

关于如何在android studio 中添加第三方开源库 Pull To Refresh
  • huangzichaoxue
  • huangzichaoxue
  • 2015-12-21 21:43
  • 1889

Android 学习之 开源项目PullToRefresh的使用

首先 下载 Android-PullToRefresh-master
  • u014470726
  • u014470726
  • 2014-10-24 09:48
  • 4899

ActionBar-PullToRefresh 学习之导入到Eclipse

今天将ActionBar-PullToRefresh导入到Eclipse时遇到了各种问题,记录之: ActionBar-PullToRefresh 下载地址:https://github.com/chrisbanes/ActionBar-PullToRefresh 使用ActionBar-Pul...
  • liu12921
  • liu12921
  • 2014-11-30 20:16
  • 1076
    个人资料
    • 访问:22338次
    • 积分:748
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:52篇
    • 译文:3篇
    • 评论:4条