2010-09-28 9 views
1

J'écris une vue personnalisée similaire à la grille qui sera utilisée pour contenir une grande quantité d'images. J'utilise ImageButton pour afficher les images, et je veux seulement charger des images sur les boutons une fois qu'ils sont sur l'écran (et juste afficher une image d'arrière-plan statique quand ils ne sont pas). La raison en est que je récupère des images à partir d'un service back-end et que je veux seulement les récupérer lorsque les boutons sont à l'écran.Comment détecter si un widget est activé/désactivé?

Pour ce faire, j'aimerais savoir si le widget est à l'écran. Est-il possible de détecter si un bouton de type widget est activé/désactivé? Si non, des suggestions sur la façon de réaliser ce que je suis en train de faire?

Répondre

2

Je ne pense pas que vous le pouvez. Le framework vous enverra simplement une requête onUpdate lors de la création du widget, puis de nouveau en fonction de votre stratégie de mise à jour.

Je ne vois pas pourquoi il y aurait une raison de changer l'image quand le widget n'est pas affiché. Vous ne sauvegardez pas les ressources du système d'exploitation en le faisant; il sait déjà ne pas dessiner votre widget quand il est hors-écran.

+0

Merci Christopher :) Désolé je n'ai pas expliqué clairement dans ma question. Je charge les images en appelant des services et je veux seulement faire l'appel de service une fois qu'ils sont sur l'écran. (Juste mis à jour la question) –

1

Vous pouvez utiliser les éléments suivants à partir d'Android 2.1 et ainsi de suite pour vérifier si l'écran est allumé.

PowerManager mPower = (PowerManager) context.getSystemService(Context.POWER_SERVICE); 
boolean screen_is_on = mPower.isScreenOn(); 
Questions connexes