2013-01-08 7 views
1

J'ai un DialogFragment qui s'affiche lorsque l'utilisateur clique sur un bouton dans l'activité.Précachez une mise en page dans Android

Le problème est que la disposition des fragments est légèrement complexe et qu'elle doit charger certaines ressources. Cela fait un petit retard la première fois que la boîte de dialogue est affichée, mais après la première, elle est affichée instantanément (je suppose que c'est parce que les ressources et l'inflation de mise en page sont mises en cache).

Puisqu'il est très probable que l'utilisateur clique sur le bouton que je souhaite pré-mettre en cache afin d'éviter ce premier délai.

Comment puis-je le faire?

Répondre

1

vous pouvez essayer de trouver votre fragment est avant ou non?

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(); 
}