0

好吧,所以我在我的應用中使用此famous android endless scroll library實現了無盡滾動。我想在應用程序到達底部並加載更多數據時顯示進度條,然後在獲取數據時將其隱藏。我正在使用Volley來獲取數據。當無盡滾動正在加載更多數據時顯示進度條

這是我onScroll監聽

scrollListener = new EndlessRecyclerViewScrollListener(manager) { 
     @Override 
     public void onLoadMore(int page, int totalItemsCount, RecyclerView view) { 

      loadMore(page); 
      ++page; 
     } 
    }; 

這是我loadMore功能

public void loadMore(int page) { 

    String url = url + page; 
    StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() { 
     @Override 
     public void onResponse(String response) { 
      ArrayList<Deal> deals = new JsonConverter<Deal>().toArrayList(response, Deal.class); 
      adapter.addAll(deals); 



     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      Log.d(TAG, error.toString()); 
      Toast.makeText(getApplicationContext(), "Bad Network Connection. Please Try Again", Toast.LENGTH_LONG).show(); 
      stopAnim(); 

     } 
    } 
    ); 

    int socketTimeout = 30000; // 30 seconds. You can change it 
    RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, 
      DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
      DefaultRetryPolicy.DEFAULT_BACKOFF_MULT); 

    stringRequest.setRetryPolicy(policy); 
    MySingleton.getInstance(getApplicationContext()).addToRequestQueue(stringRequest); 
    mSwipeRefresh.setRefreshing(false); 


} 

所以,現在我想現在要做的是當更多的數據正在顯示進度條加載完成後隱藏它。我試過https://github.com/pwittchen/InfiniteScroll/blob/master/app/src/main/java/com/github/pwittchen/infinitescroll/app/MainActivity.java但沒有用。

我也試過這個https://gist.github.com/nesquena/a988aac278cff59a9a69 但沒有得到它。

+0

你有什麼嘗試,直到現在實現你想要的? – MRX

+0

我試過這個https://github.com/pwittchen/InfiniteScroll/blob/master/app/src/main/java/com/github/pwittchen/infinitescroll/app/MainActivity.java。 –

+0

,並從這個https://gist.github.com/nesquena/a988aac278cff59a9a69做些事情,但我沒有得到整個東西 –

回答

1

無法給你確切的源代碼的權利,但這裏是你應該怎麼做:

  • 添加一個圓形在RecyclerView下面的XML中使用ProgressBar。
  • 將能見度設置爲GONE
  • 每次載入內容時,都將可見性設置爲可見,直到完成載入。

希望你能實施其餘的。

1

如果您正在尋找進度對話框代碼:

ProgressDialog progressDialog; 
progressDialog = new ProgressDialog(TripletLogin.this); 
      progressDialog.setTitle("Write Title here"); 
      progressDialog.setMessage("Loading..."); 

progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
      progressDialog.setCancelable(false); 
      progressDialog.setCanceledOnTouchOutside(false); 
      progressDialog.setIndeterminate(true); 
      progressDialog.show(); 
+0

有很多可以完成的定製。讓我知道它是否有幫助。 – Prateekro

+0

我知道如何創建進度對話框。但是當我到達頁面底部並且正在加載更多項目時,我如何在回收站視圖中顯示它 –

+0

只需在函數loadMore(int page)中編寫'progressDialog.show();'功能體。 – Prateekro

1

在你的onResponse()或onErrorResponse()放置progressDialog.dismiss();

相關問題