2017-01-31 63 views
0

我有一個由100行組成的JSON數據。如何在應用程序啓動時顯示前10行,並在用戶向底部滾動時顯示額外的10行?滾動以加載更多的RecyclerView

我發現的所有解決方案都更注重使用最後一個ID回撥給服務器。

我想要的是,從應用程序啓動時加載的JSON數據(100行)繼續追加視圖。

任何人都知道我該怎麼做呢?

+1

只需將10個數據從我們的json添加到arrylist並滾動以獲得另外10個數據並追加到列表 –

+0

請顯示您的代碼 –

+1

如果數據已經加載到內存中,那麼真的沒有理由不把它全部放在'適配器'開始。除非這純粹是爲了視覺效果。 –

回答

2

我想要的是,從應用程序啓動時加載的JSON數據(100行)繼續追加視圖。

除非我誤解了你的問題。 RecyclerView應該自行處理加載數據。

如果您的數據已經從服務器加載並存儲在手機中,那麼RecyclerView將處理加載行,它只會將屏幕上顯示的行保存在內存中,以及用戶滾動時(向上或向下)併到達新行,它將加載它們並在屏幕上顯示它們,並刪除不再顯示的行。因此,只需將所有數據(100行)發送到您的recyclerAdapter,它就會自動處理內存管理和加載行。

1

什麼@ A.R.H回答是正確的。此外,如果您需要將更多元素添加到RecyclerView的適配器中,請進行添加。即假設你在適配器中有100個元素,現在你需要檢索10個元素,那麼你可以使用'pull to refresh'來做到這一點。有各種庫可用。然而,我發現非常簡單的是:Phoenix

而且你可以從網絡中的數據onRefreshListener()內:

mPullToRefreshView = (PullToRefreshView) findViewById(R.id.pull_to_refresh); 
mPullToRefreshView.setOnRefreshListener(new PullToRefreshView.OnRefreshListener() { 
    @Override 
    public void onRefresh() { 
     mPullToRefreshView.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       mPullToRefreshView.setRefreshing(false); 
      } 
     }, REFRESH_DELAY); 
    } 
}); 

和運行方法中,你可以調用來檢索數據的方法。

除此之外,沒有必要擔心滾動功能;正如你所問:

我有一個由100行組成的JSON數據。如何在應用程序啓動時顯示前10行,並在用戶向底部滾動時顯示額外的10行?

ListView不同,RecyclerView僅將內容加載到適合屏幕的內存中。所以沒有特殊的需要滾動功能。但是,如果出於用戶體驗目的,您可以使用Phoenix庫實現相同的目的。希望能幫助到你!