gyscos Posted March 9, 2010 Share Posted March 9, 2010 Bonjour ! J'ai un LinearLayout, qui contient plusieurs Views (des SurfaceView), qui ont toutes la visibilité View.GONE sauf une, qui sera affichée. Si je change dans le code la View initialement visible, aucun problème, je vois la bonne. J'aimerais alors changer la View qui doit être affichée après la création. Pour cela, je met l'ancienne à la visibilité GONE et la nouvelle à la visibilité VISIBLE. La nouvelle View capte alors sans problème l'input, mais ne s'affiche pas... Le contour général du Layout change aussi (si je me contente de mettre l'ancienne vue à GONE sans afficher la nouvelle, j'ai un écran noir à la place de l'ancienne image), mais c'est tout... J'ai vraiment l'impression que tout change bien comme prévu, mais que le LinearLayout ne rafraichit pas son affichage automatiquement... Y a-t'il une fonction à utiliser pour forcer le rafraichissement ? J'ai essayé invalidate, refreshDrawableState, requestLayout sur les enfants, ... je ne sais plus trop quoi faire. D'autant plus que d'autres ont eu ce problème sur internet, sans solution postée... xD Merci infiniment à celui qui trouvera une réponse ! :) PS : J'utilise Android 1.6. Link to comment Share on other sites More sharing options...
gyscos Posted March 9, 2010 Author Share Posted March 9, 2010 J'ai fait une application minimale qui montre le problème : http://pastebin.com/J2ieMDDG (Le problème est expliqué en commentaire au début) Link to comment Share on other sites More sharing options...
gyscos Posted March 11, 2010 Author Share Posted March 11, 2010 Ahhhh solution trouvée. Apparement, c'est un problème d'Android 1.6 : les SurfaceView ne supprime pas leur surfaces quand on change leur visibilité... Solution carrément fournie par Romain Guy. ^^ Donc solution : mettre à jour Android ou utiliser removeView à la place... Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.