(Android) Mise en page ne sera pas redessiner après setVisibility(view.DISPARU)?
Dans les applications que j'ai:
LinearLayout linearLayout2 = (LinearLayout) findViewById(R.id.cvLinearLayout2);
et après:
linearLayout2.setVisibility(View.GONE);
Je ne peux pas trouver un moyen de mettre linearLayout2
dos.
Tout essayé:
linearLayout2.setVisibility(View.VISIBLE);
linearLayout2.bringToFront();
linearLayout2.getParent().requestLayout();
linearLayout2.forceLayout();
linearLayout2.requestLayout();
linearLayout2.invalidate();
mais sans résultats.
linearLayout2
avoir un parent linearLayout1
, donc j'ai essayé aussi:
linearLayout1.requestLayout();
linearLayout1.invalidate();
toujours avec des résultats nuls. linearLayout2
reste GONE
.
Dans mon application j'ai besoin de bouger linearLayout
loin, et puis, après un moment de redessiner à nouveau. S'il vous plaît aider.
essayez de ne pas la définition de la visibilité pour ALLÉ en premier lieu, et de dire si la mise en page s'affiche maintenant.
on ne se passera JUSQU'à ce que et à MOINS que vous ne faites pas quelque chose de mal de temps entre le temps de vous en faire parti et visible. Il suffit de vérifier si vous êtes en train de supprimer/supprimer tout les points de vue contenus par votre linearLayout2. Post certains de vos extraits de code.
on ne se passera JUSQU'à ce que et à MOINS que vous ne faites pas quelque chose de mal de temps entre le temps de vous en faire parti et visible. Il suffit de vérifier si vous êtes en train de supprimer/supprimer tout les points de vue contenus par votre linearLayout2. Post certains de vos extraits de code.
OriginalL'auteur smandic | 2012-01-14
Vous devez vous connecter pour publier un commentaire.
La définition d'une Vue de la visibilité de PARTI ne devrait pas affecter sa capacité à "revenir" à l'aide de la méthode setVisibility(View.VISIBLE)
Par exemple, j'ai ce code dans une de mes applications:
Et il fonctionne parfaitement bien. Certains autres le code de votre programme est en cours d'exécution doit être responsable. Edit ton post avec le code pertinent, et nous pouvons être en mesure de vous donner une meilleure réponse.
Vous pouvez poster ici votre code, afin que je puisse avoir une meilleure idée de comment vous aider? Je pourrais être en mesure de comprendre pourquoi la Vue.VISIBLE n'est pas de travail.
Les gars c'est juste de commencer à travailler!!!!! Après 2 jours.. j'ai supprimé tous sauf la vue.setVisibility(View.DISPARU); et la vue.setVisibility(View.VISIBLE); et tout fonctionne, donc Garzahd U R droit, il doit travailler 🙂 Merci !!
OriginalL'auteur Garzahd
View.GONE
va supprimer l'Affichage de l'écran, et l'espace occupé par le point de Vue est libéré à d'autres points de Vue sur l'écran. De la sorte, un "PARTI" ne peut pas revenir en arrière. Vous avez besoin de la recharger.Si vous voulez garder l'espace, vous pouvez utiliser
View.INVISIBLE
. Maintenant, la Vue n'est PAS supprimé, au lieu de cela, il cache la Vue et l'affichage de l'espace vide.En simple illustration, vous avez la configuration suivante:
ABCD
Après l'appel de
B.setVisibility(View.INVISIBLE);
, vous aurez:A CD
Mais après l'appel de
B.setVisibility(View.GONE);
vous obtiendrez:ACD
Après
GONE
, vous pouvez le charger à nouveau commeLinearLayout linearLayout2 = (LinearLayout) findViewById(R.id.cvLinearLayout2);
et YourActivity.setLayout(linearLayout2);`Il n'y a pas une telle méthode. YourActivity.setLayout(linearLayout2);
Correct, il devrait être
setContentView(linearLayout2)
, merci de le signaler.Comment recréer de l'enfant mise en page sans rechargement de mise en page complète?
OriginalL'auteur Vishnu Haridas