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

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

Android下拉和上拉刷新ListView列表內容的的一個優(yōu)秀開源框架,在github上的項目鏈接地址:https://github.com/chrisbanes/Android-PullToRefresh

該PullToRefresh第三方控件功能強大,使用方便。

具體使用方法:

(1)首先到github上把該項目下載解壓,導入到Eclipse的工程中。

(2)將Android-PullToRefresh作為一個lib引用到自己的項目中。

然后直接使用即可。

現在給出一個Demo。

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 mListItems;

private ArrayAdapter mAdapter;

// 數據

private int DATA = 0;

@Override

protected 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() {

// 下拉

@Override

public void onPullDownToRefresh(

PullToRefreshBase refreshView) {

Toast.makeText(getApplicationContext(), "下拉刷新",

Toast.LENGTH_SHORT).show();

addItem();

}

// 上拉

@Override

public void onPullUpToRefresh(

PullToRefreshBase refreshView) {

Toast.makeText(getApplicationContext(), "上拉刷新",

Toast.LENGTH_SHORT).show();

addItem();

}

});

// 列表到底,即看到最后一個元素。

mPullRefreshListView

.setOnLastItemVisibleListener(new OnLastItemVisibleListener() {

@Override

public void onLastItemVisible() {

Toast.makeText(getApplication(), "已經到底!",

Toast.LENGTH_SHORT).show();

}

});

ListView actualListView = mPullRefreshListView.getRefreshableView();

mListItems = new LinkedList();

mAdapter = new ArrayAdapter(this,

android.R.layout.simple_list_item_1, mListItems);

actualListView.setAdapter(mAdapter);

}

// 添加數據

private void addItem() {

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

mListItems.add((DATA++) + "");

mAdapter.notifyDataSetChanged();

mPullRefreshListView.onRefreshComplete();

}

}, 1000);

}

}

需要的activity_main.xml

android:layout_width="match_parent"

android:layout_height="match_parent" >

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" />

技術QQ群364595326

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容