2010-11-20 38 views
0

Mon application nécessite 2 écrans et pour cela j'ai créé deux différents fichiers de disposition XML en utilisant RelativeLayout. Un fichier de mise en page se charge chaque fois que j'exécute mon activité. Maintenant, je veux charger la deuxième mise en page sur le même Activity, lorsque l'utilisateur clique sur un bouton dans OptionsMenu et aussi lorsque l'utilisateur appuie sur le bouton Retour, le premier écran se charge au lieu de quitter l'application. Donc, je n'ai pas besoin de créer un autre Intent dans mon application.Charger dynamiquement la disposition dans Android

Répondre

3

Idéalement, il devrait y avoir deux activités différentes présentes dans votre application. Vous pouvez ajouter ou supprimer un composant de vue dans une vue, mais si vous recherchez deux écrans complètement différents, je vous suggère d'opter pour une nouvelle activité.

je force obtenir ce que vous vouliez dire par « et également lorsque l'utilisateur appuyez sur le bouton bakc les premières charges de l'écran au lieu de quitter l'application »

Si vous ne voulez pas montrer le premier écran terminer juste() l'activité.

+0

Je veux dire quand je charge une autre mise en page en réappelant la méthode setContentView() dans mon Activity et que j'appuie sur Back (bouton matériel), alors mon application se ferme. Maintenant, je ne veux pas quitter, mais je veux juste charger la mise en page précédente. –

+0

Avez-vous une raison ou un besoin spécifique pour deux activités distinctes? Comme ce serait un comportement naturel de la pile d'activité. Dites que je suis initialement dans l'activité A (XML 1 en utilisant setContentView) et que je lance une intention de passer à l'activité B (XML 2 en utilisant setContentView). quand j'appuie sur une touche de retour de l'activité B, cela m'amène automatiquement à l'activité A (XML 1). Cherchez-vous quelque chose de différent? –

3

Avez-vous essayé de rappeler le setContentView?

Ou vous pouvez préférer utiliser le ViewFlipper,

Bon exemple here.

1

Je suggère un moyen plutôt simple.

Placez vos deux mises en page dans le fichier XML unique et montrez-les/passez-les au besoin. Je ne pense pas que vous ayez besoin de quelque chose de plus compliqué :-)