[Android]滑動刷新ListView——android-pulltorefresh使用方法解析

    如今不少android應用程序,好比新浪微博,在聯網刷新內容時,都有一個滑動刷新的ListView,用戶將內容下滑,就會有新的結果呈現。以下圖所示:java

    

上圖中的功能是一個開源的項目android-pulltorefresh來實現的,咱們能夠利用這個項目來完成這個功能。android

這個項目的源碼託管在github上,地址爲:https://github.com/johannilsson/android-pulltorefreshgit

下面來介紹如何使用:github

滑動刷新其實就用到一個類PullToRefreshListView,它是ListView的子類,相應用到的layout文件爲pull_to_refresh_header.xml。也就是說要用滑動刷新,須要將上面的類和xml及一些圖片下載下來放到本身的工程中調用。ide

咱們在用到這個類的activity的layout中加上以下代碼:code

<!--
  The PullToRefreshListView replaces a standard ListView widget.
-->
<com.markupartist.android.widget.PullToRefreshListView
    android:id="@+id/android:list"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    />

在activity中加入下面的代碼:

// Set a listener to be invoked when the list should be refreshed.
((PullToRefreshListView) getListView()).setOnRefreshListener(new OnRefreshListener() {
    @Override
    public void onRefresh() {
        // Do work to refresh the list here.
        new GetDataTask().execute();
    }
});

private class GetDataTask extends AsyncTask<Void, Void, String[]> {
    ...
    @Override
    protected void onPostExecute(String[] result) {
        mListItems.addFirst("Added after refresh...");
        // Call onRefreshComplete when the list has been refreshed.
        ((PullToRefreshListView) getListView()).onRefreshComplete();
        super.onPostExecute(result);
    }
}

以上代碼分別是設置刷新監聽器和後臺任務執行。

本身原來寫了一個例子,不當心刪除了,就不重寫貼給你們了。xml

另外,我的感受這個滑動如今不是很靈敏,有些卡。圖片

相關文章
相關標籤/搜索