1

ユーザーがアクティビティのボタンをクリックすると表示される DialogFragment があります。

問題は、フラグメントのレイアウトが少し複雑で、いくつかのリソースをロードする必要があることです。これにより、ダイアログが最初に表示されるときに少し遅延が発生しますが、最初の表示後はすぐに表示されます (リソースとレイアウトのインフレーションがキャッシュされているためだと思います)。

ユーザーがボタンをクリックする可能性が非常に高いため、最初の遅延を回避するために事前にキャッシュしたいと思います。

どうすればいいですか?

4

1 に答える 1

1

フラグメントがロードされる前にロードされているかどうかを確認できますか?

yourFragment yourFrag = (YourFragment)getSupportFragmentManager().findFragmentById(R.id.your_fragment);

if (yourFrag == null) {
    YourFragment newFragment = new YourFragment();
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.replace(R.id.fragment_container, YourFragment);
    transaction.addToBackStack(null);
    transaction.commit();
}
于 2013-01-08T09:06:37.190 に答える