723 votes

Obtenir la vue racine de l'activité en cours

Je sais comment obtenir la vue racine avec View.getRootView () . Je suis également en mesure d'obtenir la vue d'un événement onClick d'un bouton où l'argument est une vue . Mais comment puis-je avoir la vue dans une activité ?

1167voto

nickes Points 5469
getWindow().getDecorView().findViewById(android.R.id.content)

278voto

pottedmeat Points 1625

C'est ce que j'utilise pour obtenir la vue racine telle qu'elle est trouvée dans le fichier XML assigné avec setContentView :

 final ViewGroup viewGroup = (ViewGroup) ((ViewGroup) this
            .findViewById(android.R.id.content)).getChildAt(0);
 

149voto

Sudar Nimalan Points 1956

J'ai testé cela dans Android 4.0.3, seulement:

 getWindow().getDecorView().getRootView()
 

donner la même vue ce que nous obtenons

 anyview.getRootView();

com.android.internal.policy.impl.PhoneWindow$DecorView@#########
 

et

 getWindow().getDecorView().findViewById(android.R.id.content)
 

donner un enfant de son

 android.widget.FrameLayout@#######
 

Veuillez confirmer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X