4

非常に複雑なビュー階層を持つカスタム レイアウトを使用するダイアログ フラグメントがあります。ダイアログ フラグメントのコードは、次のようになります。

public class CardDetailDialog extends DialogFragment { 

    public CardDetailDialog() { 
        setRetainInstance(true);
        setStyle(STYLE_NORMAL, android.R.style.Theme_Light);
    }

    @Override
    public View onCreateView(LayoutInflater inflater,
            ViewGroup container, Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.card_detail_dialog, container, false);
        /* Modify some view objects ... */
        return view;
    }
}

このダイアログ フラグメントのメソッドを呼び出すたびに、が常に呼び出され、レイアウト インフレーション プロセスが繰り返されるshow()ことに気付きました。onCreateView私のアプリでは、ユーザーがセッション中にダイアログを複数回表示したい場合があり、これは非効率的だと思いました。ビュー/ダイアログのインスタンスを複数のshow()呼び出しにわたって保持する方法はありますか? DialogFragment を使用してこれを行うことは可能ですか、それともDialogクラスを直接処理する必要がありますか?

4

1 に答える 1