1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. dannywilde, 10.05.2011 #1
    dannywilde

    dannywilde Threadstarter Neuer Benutzer

    Hallo Community,

    In meiner App werden zur Laufzeit Views erstellt und wieder gelöscht.
    Um Fehler zu vermeiden muss ich dafür überprüfen, ob ein View existiert oder nicht. Wie mache ich das?
    Ich brauche sowas wie:

    ViewXXX.isExistent();

    Nur gibt es das leider nicht.

    Danke für die Hilfe.
     
  2. swordi, 10.05.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    if (view != null)

    wenn views erstellt werden, solltest du das selbst wissen und auch wann sie gelöscht werden.

    oder redest du von activities?
     
    dannywilde gefällt das.
  3. dannywilde, 11.05.2011 #3
    dannywilde

    dannywilde Threadstarter Neuer Benutzer

    Erstmal Danke für die Antwort swordi, klappt.

    Allerdings habe ich im selben Zusammenhang ein weiteres Problem.

    Abhängig von der Usereingabe werden in meiner App Buttons erstellt und wieder gelöscht. Damit ich die erstellten Buttons später wieder löschen kann, weise ich ihnen beim erstellen eine ID zu.

    Code:
    Button btn= new Button(this);
    btn.setId(1000);
    Später nutze ich diese ID um die Buttons wieder zu löschen. Da die Existenz von der Usereingabe abhängig ist, wird sie überprüft, was nun auch funktioniert.

    Code:
    Button btn= (Button) findViewById(i);
                    if (btn!= null){
                        btn.setVisibility(8); 
                    }
    Problem: Das ganze funktioniert, aber nur EINMAL. Beim ersten Erstellen und Löschen klappt alles bestens, wird der Button aber erneut erstellt, funktioniert das löschen nicht mehr.

    Habe die Vermutung, dass dies irgendwie mit der doppelten Vergabe der ID zu tun hat? Aber weiß momentan nicht, wie ich es lösen soll.

    Oder aber setVisibility ist ein ungeeigneter Löschbefehl. Allerdings habe ich alle Funktionen durchsucht und keinen besseren gefunden. Bin ich blind, oder gibt es keinen anderen?


    Vielen Dank für eure Hilfe.
     
  4. ApeDick, 11.05.2011 #4
    ApeDick

    ApeDick Android-Hilfe.de Mitglied

    setVisibility(false) entfernt ja nicht das Objekt sondern setzt nur eine Eigenschaft. Wenn du jetzt nochmal einen Button mit der gleichen ID erzeugen willst, geht das natürlich nicht.
     
  5. swordi, 11.05.2011 #5
    swordi

    swordi Gewerbliches Mitglied

    ähm englisch kannst du oder?

    setVisibility() wird wohl soviel heißen wie "setze die sichtbarkeit"

    wenn du ihn auf unsichtbar setzt, hast du ihn ja nichg gelöscht. er ist ja nur nicht sichtbar.

    wenn du einen button erstellst, dann musst du ihn ja einem layout zuordnen.

    mylinearlayout.addChild(myButton);

    dann kannst du mit removeChild(myButton); ihn wieder wegnehmen.

    oder aber du setzt die sichtbarkeit

    myButton.setVisibility(View.Invisble)
    myButton.setVisibilty(View.Visible)

    ganz einfach oder?

    ein guter tipp: developer.android.com
     
    dannywilde gefällt das.
  6. dannywilde, 15.05.2011 #6
    dannywilde

    dannywilde Threadstarter Neuer Benutzer

    Funktioniert jetzt wie gewünscht. Danke für die Hilfe.:thumbsup:
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[GESCHLOSSEN - OT] SMALI - Wie überprüfe ich eine Switchpreference in smali? Android App Entwicklung 01.10.2017
[ERLEDIGT] Komplexe View erstellen Android App Entwicklung 13.09.2017
[RÜCKMELDUNG FEHLT] Text und Bilder in View einbinden Android App Entwicklung 26.03.2017
[ERLEDIGT] View zum selektieren der Wochentage Android App Entwicklung 19.03.2017
Bei Erreichbarkeit eines Servers eine APP starten Android App Entwicklung 12.02.2017
Fehlermeldung: Incorrectly called buildLayer on View: ShortcutAndWidgetContainer, destroying layer... Android App Entwicklung 30.01.2017
Viewelemente neu zeichnen Android App Entwicklung 04.01.2017
Text View erzeugt rendering Problem Android App Entwicklung 18.11.2016
schleife für image view animations Android App Entwicklung 24.10.2016
Du betrachtest das Thema "View auf Existenz überprüfen" im Forum "Android App Entwicklung",