2017-09-28 76 views
1

我有點困惑,我應該如何處理這種在碎片之間進行滑動的特殊情況。帶有碎片的ViewPager或RecyclerView?

所以,我問ViewPagerRecyclerView,因爲這2個是我唯一的選擇,如果任何人都可以想出一個更好的主意,那真的很受歡迎。

流程如下,我有一個主時間軸(ListView),它的每個項目都會打開一個包含它的細節的片段。我實際上想要做的是在這些全屏幕片段之間滑動,而不必返回到MTL並打開列表中的另一項。

你會問我我試過的是什麼,以及: RecyclerView - HORIZONTALLY oriented作爲片段的根,這個RV的每個項目都有每個事件的細節。問題在於它變得非常麻煩,因爲我在每個項目中都有一個巨大的邏輯(例如,另一個RV - horizontallyPagerView also horizontally在圖像之間滑動(或者如果是這樣的情況下正在播放的youtube框架)以及其他很多其他東西,在這一點,所以家長RV的onBindViewHolder()內部的邏輯是真正棘手。

將是更好的使用與片段一PagerView(因爲我有DetailsFragment樣的準備)?這裏的問題是,我需要一定的刷卡的次數,對不對?Whole Fragment

回答

2

與viewpager去。

因爲創建片段recyclerview內部會導致recyclerview執行速度變慢。此外,每次需要使用不同的幀格式佈局來加載時,動態地在onBindViewHolder()中創建片段,這很難生成。

欲瞭解更多關於爲什麼回收者視圖是壞主意加載片段的信息檢查這一點。

Fragment replacing in RecyclerView item

也嘗試使用ViewPager與FragmentStatePagerAdapter的實現。適配器將通過銷燬在給定時刻不可見的碎片來優化內存使用情況。

查看文檔以獲取詳細信息和代碼示例。

https://developer.android.com/reference/android/support/v4/app/FragmentStatePagerAdapter.html

+0

是的我知道,已經這樣做了,並且是如此的錯誤。但正如我所說,viewpager的問題將是滑動次數。首先,我在MTL中有20個項目,但還有更多的東西(當我處於最底層時,我向服務器請求更多) –

+0

是的,我知道......因爲以前我曾嘗試使用片段insolved recyclerview中的一個項目。它使用起來很麻煩並且很難使用。正如我所說的嘗試使用FragmentStatePagerAdapter而不是FragmentPagerAdapter,因爲它可以提高性能。 – Anonymous

+0

感謝您的回答。還有一個問題,我內側刷卡怎麼樣?因爲它是ViewPager的輕掃(橫向),在這裏面我會有另一個viewPager + RV(都是水平的)。 –