Android下拉/上拉刷新ListView之Android-PullToRefresh

Android下拉和上拉刷新ListView列表内容的的一个优秀开源框架,在github上的项目链接地址:https://github.com/chrisbanes/Android-PullToRefresh

该PullToRefresh第三方控件功能强大,使用方便。
具体使用方法:

(1)首先到github上把该项目下载解压,导入到Eclipse的工程中。
(2)将Android-PullToRefresh作为一个lib引用到自己的项目中。
然后直接使用即可。
现在给出一个Demo。

package zhangphil.pulltorefresh;import java.util.LinkedList;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode;import com.handmark.pulltorefresh.library.PullToRefreshBase.OnLastItemVisibleListener;import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;import com.handmark.pulltorefresh.library.PullToRefreshListView;import android.support.v7.app.ActionBarActivity;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.Toast;import android.os.Bundle;import android.os.Handler;public class MainActivity extends ActionBarActivity {private PullToRefreshListView mPullRefreshListView;private LinkedList<String> mListItems;private ArrayAdapter<String> mAdapter;// 数据private int DATA = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mPullRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);// Mode.BOTH:支持下拉和上拉刷新。mPullRefreshListView.setMode(Mode.BOTH);mPullRefreshListView.setOnRefreshListener(new OnRefreshListener2<ListView>() {// 下拉@Overridepublic void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {Toast.makeText(getApplicationContext(), "下拉刷新",Toast.LENGTH_SHORT).show();addItem();}// 上拉@Overridepublic void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {Toast.makeText(getApplicationContext(), "上拉刷新",Toast.LENGTH_SHORT).show();addItem();}});// 列表到底,即看到最后一个元素。mPullRefreshListView.setOnLastItemVisibleListener(new OnLastItemVisibleListener() {@Overridepublic void onLastItemVisible() {Toast.makeText(getApplication(), "已经到底!",Toast.LENGTH_SHORT).show();}});ListView actualListView = mPullRefreshListView.getRefreshableView();mListItems = new LinkedList<String>();mAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, mListItems);actualListView.setAdapter(mAdapter);}// 添加数据private void addItem() {new Handler().postDelayed(new Runnable() {@Overridepublic void run() {mListItems.add((DATA++) + "");mAdapter.notifyDataSetChanged();mPullRefreshListView.onRefreshComplete();}}, 1000);}}

需要的activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" >        <com.handmark.pulltorefresh.library.PullToRefreshListView        android:id="@+id/pull_refresh_list"        android:layout_width="match_parent"        android:layout_height="match_parent"          android:divider="@android:color/black"        android:dividerHeight="1dip"                android:fastScrollEnabled="false"        android:footerDividersEnabled="false"        android:headerDividersEnabled="false"        android:smoothScrollbar="true" /></RelativeLayout>


更多相关文章

  1. Android已有项目接入Flutter及互相通信
  2. 遇到的Android(安卓)eclipse 问题
  3. android中build.gradle文件简单说明
  4. 准备一个rubymotion for android的实际项目
  5. 整理 酷炫 Android(安卓)开源UI框架 表格
  6. android:打开Eclipse之后android项目都报错怎么解决
  7. MVVM模式开源学习项目——玩Android客户端
  8. 关于listView.setAdapter(adapter)报空指针异常的问题
  9. Kotlin 开发Android

随机推荐

  1. Android Studio 出现 Gradle's dependenc
  2. 深度揭秘android摄像头的autoFocus-----
  3. Android平台架构简介
  4. Android开发中的autocomplete控件
  5. 开始学习android
  6. windows平台下Android studio开发环境搭
  7. Android中Preference的使用以及监听事件
  8. Android触摸事件的分发处理
  9. android:使android界面打开时EditText不自
  10. Android常用命令之创建avd