2016-07-05 3 views
2

Mon MainActivity affiche essentiellement deux images. Afin de vous assurer que les bitmaps dans les ImageViews sont présentés dans toutes les circonstances, je fais ce qui suit dans la méthode onResume de MainActivity: charger les bitmaps bmp des préférences et de les affecter àImageView non mis à jour une fois que l'appareil est à nouveau éteint, alors que l'application est en haut

iView.setImageBitmap(bmp). 

Cela fonctionne bien après le retour de une autre activité ou lorsque l'utilisateur passe à une autre application et revient à mon application. Mais cela ne fonctionne PAS, lorsque mon application est en haut de l'écran, lorsque l'utilisateur éteint l'appareil et le rallume plus tard. C'est plutôt étrange, puisque je charge explicitement les Bitmaps à partir des préférences et les réaffecte dans onResume. Cela est également vrai pour les derniers dispositifs, par ex. le S7. Tout conseil hautement apprécié!

+0

Avez-vous essayé d'implémenter la même chose dans 'onWindowFocusChanged' à la place? – isstiaung

+0

utilisez logcat pour vérifier si votre onResume() est appelé –

Répondre

0

Il est avéré que je devais faire la cession du Bitmap via

iView.setImageBitmap(bmp) 

déjà dans la méthode onCreate. Je suppose que certaines tâches d'inflation de mise en page sont effectuées de manière plus approfondie dans onCreate que partout ailleurs. Au moins dans le cas de l'histoire éteindre/sur cela semble être vrai.

0

vous devriez vérifier d'abord si onResume() est appelée par

Log.d(..) 

désolé je ne peux rien dire (50 rep)

+0

Oui, onResume est appelé, ce n'est pas le problème. – Settembrini

0

Mettre l'appareil hors tension et assumerait onStart et non onResume. Si vous ne l'avez pas fait, faites ce que vous avez fait sur OnStart. :)

+0

non, onResume est toujours effectuée. – Settembrini

+0

Vous avez raison et je ne le suis pas. –