2017-10-13 6 views
0

J'écris un programme Android J'ai mis un ImageView à l'écran, puis l'enlever mais une autre partie du code essaie toujours de détecter le ImageView après qu'il a été retiré. Comment écrire une instruction if qui me permettra de détecter si le imageView a été supprimé? J'ai essayé quelques petites choses, mais obtenir aucun résultatDétecter si un objet est à l'écran

if (arrowObj000.get(6).findViewWithTag(arrowObj000.get(6))!=null) { 

} 

arrowObj00 est un objet de liste/tableau contenant refrences à la ImageView ce n'est pas le problème si

Le problème est que je dois écrire une instruction if qui détecte si le ImageView est actuellement attaché.

+0

Avez-vous essayé la méthode View.isShown()? – nhoxbypass

Répondre

0

Parcourez la chaîne des parents, en comparant chacun à la vue racine de l'activité/fragment. Si vous frappez la racine, vous êtes attaché. Si vous trouvez un null en premier, vous ne l'êtes pas.

Bien qu'un meilleur moyen de gérer cela serait probablement de stocker les informations d'état quelque part et ne pas utiliser votre vue en tant qu'état.

0

Après avoir examiné à fond à travers les conseils de code, j'ai trouvé la réponse

if (arrowObj000.get(6).isAttachedToWindow()) { 

}