Réponses:
Je l'ai fait comme ça:
((ViewManager)entry.getParent()).removeView(entry);
(ViewGroup):)
Utilisez ViewStub et spécifiez la disposition de la vue que vous souhaitez basculer. Regarder:
mViewStub.setVisibility(View.VISIBLE) or mViewStub.inflate();
Disparaître:
mViewStub.setVisibility(View.GONE);
C'est la meilleur façon
LinearLayout lp = new LinearLayout(this);
lp.addView(new Button(this));
lp.addView(new ImageButton(this));
// Now remove them
lp.removeViewAt(0); // and so on
Si vous avez une mise en page XML, il n'est pas nécessaire d'ajouter dynamiquement.
lp.removeViewAt(0);
Pour ajouter une vue à une mise en page, vous pouvez utiliser la addViewméthode de la ViewGroupclasse. Par exemple,
TextView view = new TextView(getActivity());
view.setText("Hello World");
ViewGroup Layout = (LinearLayout) getActivity().findViewById(R.id.my_layout);
layout.addView(view);
Il existe également un certain nombre de méthodes de suppression. Consultez la documentation de ViewGroup . Un moyen simple de supprimer la vue d'une mise en page peut être comme,
layout.removeAllViews(); // then you will end up having a clean fresh layout
Pour changer la visibilité:
predictbtn.setVisibility(View.INVISIBLE);
Pour retirer:
predictbtn.setVisibility(View.GONE);
Bonne réponse de Sameer et Abel Terefe. Cependant, lorsque vous supprimez une vue, dans mon option, vous souhaitez supprimer une vue avec un certain identifiant. Voici comment faire cela.
1, donnez à la vue un identifiant lorsque vous la créez:
_textView.setId(index);
2, supprimez la vue avec l'ID:
removeView(findViewById(index));
vous pouvez utiliser addView ou removeView
Java:
// Root Layout
LinearLayout linearLayout = new LinearLayout(context);
linearLayout.setGravity(Gravity.CENTER);
linearLayout.setOrientation(LinearLayout.VERTICAL);
// TextView
TextView textView = new TextView(context);
textView.setText("Sample");
// Add TextView in LinearLayout
linearLayout.addView(textView);
// Remove TextView from LinearLayout
linearLayout.removeView(textView);
kotlin:
// Root Layout
val linearLayout = LinearLayout(context)
linearLayout.gravity = Gravity.CENTER
linearLayout.orientation = LinearLayout.VERTICAL
// TextView
val textView = TextView(context)
textView.text = "Sample"
// Add TextView in LinearLayout
linearLayout.addView(textView)
// Remove TextView from LinearLayout
linearLayout.removeView(textView)
salut si vous êtes nouveau dans Android utilisez de cette façon Appliquez votre vue pour la faire disparaître est une façon, sinon, prenez la vue parente et supprimez l'enfant à partir de là ..... sinon, obtenez la mise en page parent et utilisez ceci méthode et supprimer tout enfant parentView.remove (enfant)
Je suggérerais d'utiliser l'approche GONE ...
Je supprime la vue en utilisant la méthode de démarrage et de comptage, j'ai ajouté 3 vues dans la disposition linéaire.
view.removeViews (0, 3);
Ajoutez cette extension:
myView.removeSelf()
fun View?.removeSelf() {
this ?: return
val parent = parent as? ViewGroup ?: return
parent.removeView(this)
}
Voici quelques options:
// Built-in
myViewGroup.addView(myView)
// Null-safe extension
fun ViewGroup?.addView(view: View?) {
this ?: return
view ?: return
addView(view)
}
// Reverse addition
myView.addTo(myViewGroup)
fun View?.addTo(parent: ViewGroup?) {
this ?: return
parent ?: return
parent.addView(this)
}