2014-12-13 66 views
2

我使用Android-PullToRefreshchrisbanes來顯示我的應用程序中的刷新進度。如何停止ListView的PullToRefresh動畫

我的AsyncTask加載數據,所以我在onPreExecute方法

開始清爽通過調用mPullRefreshListView.setRefreshing();
和 在onPostExecute方法調用mPullRefreshListView.onRefreshComplete();
停止刷新。

這工作正常。但是網絡故障時會發生問題。因爲我不再使用AsyncTask,而是加載本地緩存。

我我想知道我是否刷新網絡時,下展現PullToRefresh動畫,但因爲它註冊的setOnRefreshListener,每次當用戶拉下ListView的時候,它顯示了令人耳目一新的動畫,並且從來沒有消失。

我試圖通過調用mPullRefreshListView.onRefreshComplete();來禁用動畫,但它沒有幫助。

if (!Utils.isNetworkOn()) { 
       if (mPullRefreshListView.isRefreshing()) 
        mPullRefreshListView.onRefreshComplete(); 
      } 

我對此感到非常困惑,任何人都知道如何處理這個問題?
在此先感謝。

+0

你或許可以通過設置「theseChildsArePullable」破解它(或任何它被稱爲)在pullToRefresh時爲null您的網絡關閉,然後在網絡聯機時重新啓動它。雖然沒有嘗試過。 – kha 2014-12-19 10:20:53

回答

1

這是更好地使用SwipeRefreshLayout因爲克里斯貝恩的項目不再保留:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <android.support.v4.widget.SwipeRefreshLayout 
     android:id="@+id/srl_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 

     <ListView 
      android:id="@+id/list" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 
    </android.support.v4.widget.SwipeRefreshLayout> 
</LinearLayout> 

In fragment: 
private void pullToRefreshForConfiguredList(View view) { 

     mConfiguredSwipeRefreshLayout = (SwipeRefreshLayout) view 
       .findViewById(R.id.srl_layout); 
     mConfiguredSwipeRefreshLayout 
     .setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { 

      @Override 
      public void onRefresh() { 
       // call Method to be refreshed 

if (mConfiguredSwipeRefreshLayout.isRefreshing()) 
         mConfiguredSwipeRefreshLayout.setRefreshing(false); 
      } 
     }); 
     mConfiguredSwipeRefreshLayout.setColorScheme(android.R.color.black, 
       R.color.red, android.R.color.black, R.color.red); 
    } 
+0

但是還沒有一些關於如何使用該教程的完整教程 – 2014-12-19 10:36:17

+0

讓我Google爲你http://www.survivingwithandroid.com/2014/05/android-swiperefreshlayout-tutorial.html – 2014-12-19 11:06:26