Antworten:
Ich habe es so gemacht:
((ViewManager)entry.getParent()).removeView(entry);
(ViewGroup):)
Verwenden Sie ViewStub und geben Sie das Layout der Ansicht an, die Sie umschalten möchten. Sehen:
mViewStub.setVisibility(View.VISIBLE) or mViewStub.inflate();
Verschwinden:
mViewStub.setVisibility(View.GONE);
Dies ist der beste Weg
LinearLayout lp = new LinearLayout(this);
lp.addView(new Button(this));
lp.addView(new ImageButton(this));
// Now remove them
lp.removeViewAt(0); // and so on
Wenn Sie ein XML-Layout haben, müssen Sie es nicht dynamisch hinzufügen
lp.removeViewAt(0);
Um einem Layout eine Ansicht hinzuzufügen, können Sie die addViewMethode der ViewGroupKlasse verwenden. Beispielsweise,
TextView view = new TextView(getActivity());
view.setText("Hello World");
ViewGroup Layout = (LinearLayout) getActivity().findViewById(R.id.my_layout);
layout.addView(view);
Es gibt auch eine Reihe von Entfernungsmethoden. Überprüfen Sie die Dokumentation von ViewGroup . Eine einfache Möglichkeit, die Ansicht aus einem Layout zu entfernen, kann sein:
layout.removeAllViews(); // then you will end up having a clean fresh layout
Zum Ändern der Sichtbarkeit:
predictbtn.setVisibility(View.INVISIBLE);
Zum Entfernen:
predictbtn.setVisibility(View.GONE);
Großartige Antwort von Sameer und Abel Terefe. Wenn Sie jedoch eine Ansicht entfernen, möchten Sie nach meiner Option eine Ansicht mit einer bestimmten ID entfernen. Hier ist, wie machst du das?
1, geben Sie der Ansicht eine ID, wenn Sie sie erstellen:
_textView.setId(index);
2, entfernen Sie die Ansicht mit der ID:
removeView(findViewById(index));
Sie können addView oder removeView verwenden
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)
Hallo, wenn Sie neu in Android sind, verwenden Sie diese Methode. Wenden Sie Ihre Ansicht an, um sie verschwinden zu lassen. GEGANGEN ist eine Möglichkeit. Andernfalls greifen Sie auf die übergeordnete Ansicht zu und entfernen Sie das untergeordnete Element von dort. Andernfalls rufen Sie das übergeordnete Layout ab und verwenden Sie dieses Methode und entferne alle untergeordneten parentView.remove (untergeordneten)
Ich würde vorschlagen, den GONE-Ansatz zu verwenden ...
Ich entferne die Ansicht mit der Start- und Zählmethode. Ich habe 3 Ansichten im linearen Layout hinzugefügt.
view.removeViews (0, 3);
Fügen Sie diese Erweiterung hinzu:
myView.removeSelf()
fun View?.removeSelf() {
this ?: return
val parent = parent as? ViewGroup ?: return
parent.removeView(this)
}
Hier sind einige Optionen:
// 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)
}