2012-09-11 28 views
6

我有一個ViewPager和FragmentPagerAdpater和3片段來實現選項卡滑動視圖。 ViewPager是否應該在第一次渲染後「記住」3個視圖?ViewPager查看持有者模式?

我的問題是,一段時間後,3個視圖的佈局「被遺忘」。這意味着我需要再次更新它們,用戶在更新之前會看到醜陋的部分。

viewpager是否還有查看模式?我可以使用什麼技術來保留那些已經呈現的視圖或防止它們被銷燬?

回答

14

您可以使用ViewPagersetOffscreenPageLimit()來控制有多少頁面保存在內存中,並在滾動到之前預先創建。默認情況下,它的值是1,這意味着它會將當前頁面保留在內存中以及頁面前後的頁面中。根據您的頁面大小(全屏或部分屏幕),將其增加至2將阻止頁面在屏幕上構建。

+0

這實際上是這樣做的。謝謝! – xiangxin

+0

謝謝。它幫助我。 – QuestionAndroid

2

在你的標籤適配器只覆蓋destroyItem()方法&報價出來的超級聲明

這將節省您的片段的情況下,他們不會需要重新加載並再次

@Override 
    public void destroyItem(ViewGroup container, int position, Object object) { 
     // TODO Auto-generated method stub 
     // super.destroyItem(container, position, object); 
    } 

東西喜歡這個。