Android - Comment puis-je accéder à la Vue de l'objet instancié dans onCreate dans onResume?
Dans mon onCreate() la méthode, je suis l'instanciation d'un ImageButton Vue:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_post);
final ImageButton ib = (ImageButton) findViewById(R.id.post_image);
...
Dans onResume, je veux être en mesure de modifier les propriétés de la ImageButton avec quelque chose comme:
@Override
protected void onResume() {
super.onResume();
ib.setImageURI(selectedImageUri);
} //FIN de la onResume
Mais onResume n'ont pas accès à l'ib ImageButton objet. Si c'est une variable, j'avais simples en faire une variable de classe, mais Android ne vous permet pas de définir l'objet de Vue dans la classe.
Des suggestions sur la façon de faire cela?
Vous ne pouvez pas utiliser findViewById à l'intérieur de onResume?
OriginalL'auteur Chris | 2011-01-17
Vous devez vous connecter pour publier un commentaire.
Je ferais le bouton image d'une variable d'instance, alors vous pouvez le consulter à partir de deux méthodes si vous le souhaitez. c'est à dire. faire quelque chose comme ceci:
Il est important de garder à l'esprit que les variables d'instance sont relativement chers en Android, de sorte qu'il est plus efficace d'utiliser une variable locale de la méthode s'il n'est utilisé que dans un seul endroit.
Pourquoi sont les variables d'instance sont relativement chers en Android. J'entends parler pour la première fois, des Conseils de Performances (developer.android.com/training/articles/perf-tips.html) ne le mentionne pas...
OriginalL'auteur Captain Spandroid
findViewById()
ne crée pas de la vue, c'est juste de trouver le déjà créé vue. Il a été créé en gonflant la mise en pageR.layout.layout_post
dans la ligne précédente.Il vous suffit d'appeler
findViewById()
dans votreonResume()
méthode pour obtenir une référence à elle dans cette méthode, ou vous pouvez changerib
à une variable d'instance, de sorte qu'il est accessible à des méthodes autres queonCreate()
.OriginalL'auteur Mark B
Déplacer la déclaration de la méthode à la classe. En supposant que
selectedImageUri
est dans la portée...OriginalL'auteur William Scott