Question

Est-ce que Android ont un équivalent à Cocoa fonctions viewDidLoad et viewDidAppear?

Sinon, comment pourrais-je aller sur l'exécution d'une action lorsqu'une vue apparaît? Mon application est une application par onglets, dans lequel l'un des onglets est une liste des sujets du forum. Je voudrais que la liste des sujets à rafraîchir à chaque fois que la vue apparaît. Une telle chose est possible dans Android?

Était-ce utile?

La solution

La classe d'activité a des méthodes onCreate et onResume qui sont assez analogues à viewDidLoad et viewDidAppear.

Activity.onResume

EDIT

Pour ajouter à cela, puisque certains ont mentionné dans les commentaires que l'arbre de vue ne soit pas encore pleinement disponible au cours de ces callbacks, il y a le ViewTreeObserver que vous pouvez écouter si vous avez besoin d'abord accès à la hiérarchie de la vue. Voici un exemple de la façon dont vous pouvez utiliser la ViewTreeObserver pour y parvenir.

    View someView = findViewById(R.id.someView);
    final ViewTreeObserver obs = someView.getViewTreeObserver();
    obs.addOnPreDrawListener(new OnPreDrawListener() {

        public boolean onPreDraw() {
            obs.removeOnPreDrawListener(this);
            doMyCustomLogic();
            return true;
        }
    });

Autres conseils

onResume () est plus comme viewCouldAppear. :) public void onWindowFocusChanged (Boolean) est le plus proche de viewDidAppear. A ce stade, au sein de l'activité du cycle de vie, vous pouvez demander à la vue de sa taille.

De ma compréhension naissante, limitée d'Android, vous mettre en œuvre viewDidLoad fonctionnalité de type dans le onCreate de votre Activité :

  

onCreate (Bundle) est l'endroit où vous   initialiser votre activité. Plus   important, ici vous habituellement   appeler setContentView (int) avec une mise en page   ressources définissant votre interface utilisateur, et l'utilisation de   findViewById (int) pour récupérer la   widgets dans cette interface que vous devez   interagissent avec un programme.

L'équivalent pour viewDidAppear est plus proche de la onResume :

  

Appelée après   onRestoreInstanceState (Bundle),   onRestart (), ou OnPause (), pour votre   activité pour commencer à interagir avec le   utilisateur. Ceci est un bon endroit pour commencer   animations, ouvert un accès exclusif   des dispositifs (tels que la caméra), etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top