2010-12-13 25 views
3

J'ai ce RelativeView avec 3 radiobuttons sur le dessus. Je veux changer la partie inférieure de la vue lorsque l'utilisateur clique sur l'un des boutons.Modifier dynamiquement la vue à l'intérieur de la vue dans Android

La partie bleue est l'endroit que je veux charger des vues différentes dans. alt text

Comment puis-je charger des vues dans la partie bleue?

+0

Avez-vous envisager d'utiliser le TabWidget pour la même tâche? – Mudassir

+0

Oui je l'ai fait, mais j'ai un bouton de sauvegarde (opslaan) qui enregistre des informations sur les 3 vues. Et il semble vraiment «moche» avec un grand bouton Enregistrer en haut ou en bas. – Galip

Répondre

5

J'ai un peu trouvé la réponse:

layout = (RelativeLayout)findViewById(R.id.rellayout); 
LayoutInflater layoutInflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
layout.addView(layoutInflater.inflate(R.layout.gegevens_verzekeringen, group, false), 1); 

Ceci charge la vue sur le XML x parent. Je veux le charger sur seulement la partie « corps » (la partie bleue dans l'image)

Je déclarais le corps comme celui-ci:

body = (RelativeLayout)findViewById(R.id.body); 

Mais quand je fais body.addView(layoutInflater.inflate(R.layout.gegevens_verzekeringen, group, false), 1);

Il SAIS java.lang.IndexOutOfBoundsException: index=1 count=0

Comment puis-je résoudre ce problème?

Edit: Got it:

body.addView(layoutInflater.inflate(R.layout.gegevens_verzekeringen, null)); 
0
  • utilisation findViewById pour obtenir une référence à chaque RadioButton
  • Inscrivez-vous un OnClickListener en utilisant setOnClickListener sur chaque RadioButton
  • l'intérieur de votre rappel OnClickListener, charger un autre arrière-plan
+0

J'ai déjà une méthode pour déterminer quel radiobutton est choisi. Le seul problème est que je ne peux pas définir une autre vue xml dans la vue actuelle. J'ai édité ma question pour ma méthode – Galip