finish - start activity android




Obtenir la vue racine de l'activité en cours (5)

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


Obtenez la vue racine de l'activité en cours.

Dans notre activité, nous pouvons obtenir la vue root avec:

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

ou

View rootView = getWindow().getDecorView().getRootView();

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

Juste incase Quelqu'un a besoin d'un moyen plus facile:

Le code suivant donne une vue de l'ensemble de l'activité:

View v1 = getWindow().getDecorView().getRootView();

Pour obtenir une vue certian dans l'activité, par exemple un imageView dans l'activité, ajoutez simplement l'identifiant de la vue que vous voulez obtenir:

View v1 = getWindow().getDecorView().getRootView().findViewById(R.id.imageView1);

J'espère que cela aide quelqu'un


Si vous êtes dans une activité, supposons qu'il n'y a qu'une seule vue racine, vous pouvez l'obtenir comme ceci.

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

vous pouvez ensuite le lancer dans votre vraie classe

ou vous pourriez utiliser

getWindow().getDecorView();

notez que cela inclura la vue de la barre d'action, votre vue est en dessous de la vue de la barre d'actions


pour avoir une vue de l'activité en cours

dans tout onClick, nous obtiendrons "View View", en utilisant "view" obtenir le rootView.

Voir vue = view.getRootView ();

et pour obtenir View in fragment

Voir vue = FragmentClass.getView ();





view