5

いくつかのタブフラグメントの例を調べました(Support4Demosでも提供されています)しかし、タブが切り替わるたびに、フラグメントクラスの「onCreateView」からタブコンテンツビューが毎回作成されることがわかりました。

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.hello_world, container, false);
        View tv = v.findViewById(R.id.text);
        ((TextView)tv).setText("Fragment #" + mNum);
        tv.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.gallery_thumb));
        return v;
    }

フラグメント ビューを最初に作成したときに一度作成し、再度作成するのではなく、タブを切り替えると表示/非表示になることは可能ですか?

4

2 に答える 2

1

私は解決策を見つけたと思います。タブをキャッシュし、切り替えるたびに新しいビューを作成しないページャーを使用する必要があります。

ここから見つけました:フラグメントビューをキャッシュする方法

于 2013-02-28T07:02:36.910 に答える
0

いいえ、この考え方に慣れて、画面の回転などの重要な情報を保存し始める必要があります。次に、ビューを再度作成するときに、保存された情報を取得して初期化に使用します。

同様の議論については、こちらを参照してください。基本的に、フラグメント onActivityCreated でデータをロードし、フラグメント onSaveInstanceState でデータを保存します。

于 2013-02-28T05:20:10.470 に答える