2011-09-16 92 views
6

你好我使用的是ViewPager,但現在我想保留狀態,而不必再生細胞。的Android Viewholder爲ViewPager

我注意到viewpager非常類似於列表視圖自定義適配器,並且它們的功能相似,其中的ListView再生細胞的數據,他們是在屏幕上不再後,viewpager也是同樣的道理。

有一種方法做viewholder,一些類型的對象,其保存每個視圖的狀態時,它最初加載之後,使細胞viewpager加載更快。 (存在於每個細胞的一些處理和渲染,但我會測試內存的限制我自己)

here is my viewpager

回答

8

使用FragmentPagerAdapter,這使已創建積極內存中的所有片段對象:

/** 
* Implementation of {@link android.support.v4.view.PagerAdapter} that 
* represents each page as a {@link Fragment} that is persistently 
* kept in the fragment manager as long as the user can return to the page. 
*/ 
2

使佈局的一個HashMap你膨脹他們之後。如果你已經有了對應頁面的佈局,只需要從hashMap中替換佈局,否則將新佈局膨脹並存儲在hashMap中。我無法保證您是否可以恢復狀態。但每次用戶在頁面之間切換時,它都會縮短您的充氣時間。

+1

這會不會佔用太多的內存? – user2520215