我想了解什麼呢setRecycledViewPool方法實際上在下面的代碼 行,其中mrecyclerView是試圖瞭解SetRecycledViewPool方法RecyclerView
mrecyclerView.setRecycledViewPool(new RecyclerView.RecycledViewPool());
我讀了Android回收者視圖對象與回收視圖一起做文檔link,我仍然不明白它做了什麼清楚可以有人解釋我的使用和何時使用
我想了解什麼呢setRecycledViewPool方法實際上在下面的代碼 行,其中mrecyclerView是試圖瞭解SetRecycledViewPool方法RecyclerView
mrecyclerView.setRecycledViewPool(new RecyclerView.RecycledViewPool());
我讀了Android回收者視圖對象與回收視圖一起做文檔link,我仍然不明白它做了什麼清楚可以有人解釋我的使用和何時使用
setRecycledViewPool(...)
當我們有一個嵌套RecyclerView可能是有用的。例如,請參閱this博客文章。
我沒有使用它自己,但從我能理解閱讀文檔它的一種方式來使用您回收視圖在一個RecyclerView與另一個。
因此,如果您有一堆裝滿卡片視圖的RecyclerView,並且您想要爲另一個RecyclerView回收這些視圖,則可以將其傳遞給共享的RecycledViewPool。現在兩個RecyclerView都將從共享視圖池中獲取。
該死的..這聽起來很有趣......我肯定會想知道更多關於它,你可以用一些例子和實施解釋更多。 –
從docs:
回收的觀點池允許多個RecyclerView要分享的廢料觀點公共池。如果你有多個RecyclerView s的,如果你有多個數據集與同種商品的看法由ViewPager顯示使用同一個視圖類型,例如適配器它可能是有用的。
默認情況下,5 ViewHolder
s的保持在池的特定viewType。如果你想改變這種計數,可以做到這樣:
recyclerView.getRecycledViewPool()
.setMaxRecycledViews(SOME_VIEW_TYPE, POOL_CAPACITY);
從this博客文章:
那麼我們該如何選擇池的最佳尺寸是多少?看來最佳的策略是在你需要它變大之前擴大它的範圍,然後再縮小它。實現這一點的一種骯髒的方式如下:
recyclerView.getRecycledViewPool().setMaxRecycledViews(0, 20);
adapter.notifyDataSetChanged();
new Handler().post(new Runnable() {
@Override
public void run() {
recyclerView.getRecycledViewPool()
.setMaxRecycledViews(0, 1);
}
});
它確實使這個好多了意義now..thanks –