Ich füge ein Layout mit addContentView()
hinzu. Wie kann ich dieses Layout bei einem Klick auf die Schaltfläche entfernen?Wie entfernt man ein Layout, das mit addContentView() hinzugefügt wurde?
Antwort
contentView
Unter der Annahme, ist die Ansicht, dass über window.addContentView()
((ViewGroup) contentView.getParent()).removeView(contentView);
Leider gibt es keine Möglichkeit, eine Inhaltsansicht zu entfernen, die mit addContentView()
hinzugefügt wurde. Das Beste, was Sie tun können, ist, setVisibility(View.GONE)
darauf zu nennen, um es zu verstecken.
Aus diesem Grund wird die Aktivität onContentChanged() nur aufgerufen, wenn die Inhaltsansicht festgelegt oder einer Aktivität hinzugefügt wird.
versuchen es
View youAddedView;
ViewGroup rootView = (ViewGroup) findViewById(android.R.id.content);
for (int i = 0; i < rootView.getChildCount(); i++) {
if(rootView.getChildAt(i) == yourAddedView) {
// do anything here
}
}
Die einzige Sache, die in Ihrer Antwort fehlt, ist rootView.removeViewAt (i); Unterbrechung; –
Sie hier zwei Dinge tun können, über Sie die Sichtbarkeit zu gegangen auf dem Click-Ereignis der Schaltfläche festlegen. OR können Sie das Layout Parameter Layoutbreite und Höhe eingestellt 0DP Es wird Ihr Layout-Anzeige
Wenn Sie bereits den Verweis auf die Sie einfach Ansicht verstecken kann nur tun:
ViewGroup rootView = (ViewGroup) findViewById(android.R.id.content);
rootView.removeView(viewToRemove);
Statt Schleife durch die ViewGroup.
- 1. Ein Element mit demselben Schlüssel wurde bereits hinzugefügt, während das NuGet-Paket installiert wurde
- 2. Wie überprüft man, ob ein neues Outlook-Kalenderereignis hinzugefügt wurde?
- 3. ngNicht aktualisieren, wenn das Objekt entfernt wurde
- 4. Wie entfernt man die Abhängigkeit von libraryDependencies, die vom Plugin hinzugefügt wurde?
- 5. Wie entfernt man den Namen, der zu einer Datei hinzugefügt wurde?
- 6. Speichern hinzugefügt und entfernt Benutzer
- 7. Benachrichtigung erhalten, wenn Element zu Array hinzugefügt/entfernt wurde
- 8. C#: Zugriff auf ein Bild, das zum Projektordner hinzugefügt wurde
- 9. Verwenden Sie das automatische Layout in der Ansicht, das zu UIWindow hinzugefügt wurde
- 10. Wie wird das relative Layout zum relativen Layout mit aktivierter Folie hinzugefügt?
- 11. [GWT] Warum kann ich das Widget nicht finden, das dem CSS-Layout-Container hinzugefügt wurde?
- 12. Wie man ein Stapelobjekt entfernt, das sich in C#
- 13. Wie man ein Objekt aus NSDictionary entfernt
- 14. Wie entfernt man das "- -" aus der Protokollierung?
- 15. Wurde bereits ein Event-Handler hinzugefügt?
- 16. Wie behandelt man das Touch-Ereignis bei UIButton, das in der Zelle von UITableView hinzugefügt wurde?
- 17. Qt: Ausführen einer Aktion (Blättern), nachdem ein Widget hinzugefügt wurde
- 18. Wie man ein Element von HTMLCollection entfernt?
- 19. DbContext wurde entfernt
- 20. Überprüfen Sie, ob ein YouTube-Video mit PHP entfernt wurde.
- 21. Wie beeinflusst man das Layout von Grafikelementen?
- 22. jquery: Wie entfernt man das Handler-Setup mit .click()?
- 23. Wie entfernt man das langsame Ende der Animation mit ObjectAnimator?
- 24. Wie man eine Animation auf ein Objekt anwendet, das entfernt wird, ohne ein Timeout zu verwenden
- 25. Wie entfernt man das erste Zeichen von C-String?
- 26. Wie ändert man vorübergehend die Hintergrundfarbe eines neuen Elements, das dem DOM hinzugefügt wurde?
- 27. d3.js v4 d3.layout.tree wurde entfernt?
- 28. Auswahllistenfehler, wenn hinzugefügt, entfernt und erneut eine Option hinzugefügt
- 29. PHPMailer - wie überprüft man, ob Adresse (n) hinzugefügt wurde
- 30. Wie man das ursprüngliche Fenster intellij Layout
hinzugefügt wurde ich einfach addContentView (R.layout.test) zu tun; Dann, um zu entfernen, wie man diese setVisibility verwendet (View.GONE) – James
Sie müssen die Wurzel Ihres Entwurfs erhalten und es dann verstecken. Beispiel: setze 'android: id =" @ + id/root "', und rufe in deiner Aktivität 'findViewById (R.id.root) .setVisibility (View.GONE);' – zrgiu
Dies ist eine falsche Antwort. Siehe die Antwort von vince. Dieser erklärt, wie Sie diese Ansicht entfernen können (die Sie nicht entfernen können) –