2012-09-11 9 views
6

私は、タブスワイプビューを実装するために、ViewPagerとFragmentPagerAdpaterと3Fragmentsを持っています。 初めてレンダリングした後、ViewPagerは3つのビューを「記憶」していますか?ViewPagerのホルダーパターンを表示しますか?

私の問題は、しばらくしてから、3つのビューのレイアウトが「忘れてしまった」ことです。つまり、私はそれらを再び更新する必要があり、ユーザーは更新する前に醜い部分を見るでしょう。

viewpagerのビューホルダーパターンもありますか?既にレンダリングされたビューをそのまま残すか、またはそれらが破壊されるのを防ぐために、どのテクニックを使用できますか?ただ

これはあなたの破片のインスタンスが保存されますと、彼らは文句を言わない、再びロードする必要があると再び

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

何かsuperステートメントをdestroyItem()メソッド&引用符をオーバーライドし、あなたのタブアダプタで

答えて

14

ViewPagersetOffscreenPageLimit()を使用して、スクロールする前にメモリに保持され、あらかじめ作成されたページ数を制御できます。デフォルトでは、値は1です。つまり、現在のページをメモリ内に保持し、その直前および直後のページを保持します。ページサイズ(全画面または部分画面)に応じて、たとえば2はページが画面上に構成されないようにします。

+0

これは実際にトリックでした。どうも!ありがとう。 – xiangxin

+0

ありがとうございました。それは私を助ける。 – QuestionAndroid

2

このような。

関連する問題