2016-07-20 1 views
0

J'ai un ViewGroup personnalisé:Est-il possible qu'un ViewGroup personnalisé "dégonfle" sa mise en page et en gonfle un autre?

public class GuiContact extends RelativeLayout { 
    private ViewGroup content 
    ... 

    public void onCreate() { 
     content = (ViewGroup) View.inflate(context, R.layout.contact, this); 
     ... 

Ce composant a une machine d'état pour gérer son comportement. Je réalise maintenant que ce composant serait beaucoup plus facile à gérer s'il avait une couche par état.

Existe-t-il un moyen d'annuler View.inflate et de l'appeler à nouveau avec une disposition XML différente, à chaque changement de machine d'état?

Répondre

1

Dans votre activité où vous gonflez votre viewGroup Essayez cette

((ViewGroup) content.getParent()).removeView(content); 
+0

Merci pour votre réponse, mais c'est ce que je voulais éviter - Je voudrais que le 'GuiContact' pour être en mesure de changer sa propre mise en page sans impliquer le parent. – fadedbee

+1

Essayez-vous de supprimer uniquement les vues enfant dans le groupe de vues? – SaravInfern

+0

Je ne suis pas sûr comment fonctionne l'imbrication dans Android - J'essaye de changer la disposition de 'GuiContact'. Est-ce que le 'content' /' contact.xml' dont j'ai gonflé un * enfant * de 'GuiContact' ou une * partie * de' GuiContact'? – fadedbee