AlertDialog im ListFragment

  • Hallo Community,


    ich hab ein Problem was mich schon sehr lange nervt, will mich aber nun nicht mehr davor drücken.


    Also ich habe eine Projekt mit dem Projekt-Wizard erstellt, welches auf der Basis von der API 11 läuft.


    Sprich ich habe 4 Klassen:


    - PersonenDetailActivity
    - PersonenDetailFragment
    - PersonenListActivity
    - PersonenListFragment


    Nehmen wir an ich hab nun eine Liste mit 4 Einträgen, "Müller, Meier, Muster, Test".


    Nun will ich ein Kontextmenü aufbauen, sprich das der Anwender die Möglichkeit hat bei längeren klick, eine Aktion zu tätigen, das ist soweit realisiert.


    Nun gibt es ein Punkt in diesem Kontextmenü, löschen. (jetzt kommen wir zu dem Problem)


    Die Liste wird in der Klassen PersonenListFragment die von ListFragment ableitet aufgebaut. In dieser Klasse ist auch das Kontextmenü. Nun will ich wenn der Benutzer löschen drückt einen AlertDialog aufrufen wo der Benutzer Ja, Nein klicken kann.


    Nun ist es so das man in einer Klasse die von ListFragment ableitet den Dialog als Innerclass machen muss, somit hab ich dann die Funktion setListAdapter nicht mehr direkt zur Verfügung. Ich hab jetzt nun mal geschaut und könnte in den Negativ bzw positive Handler von den Buttons folgendes aufrufen:




    Code:PersonenListFragment.newInstance().deletePersonen();
    nun würde ich aber gern wissen ob das so in Ordnung in den Lifecycle von Android.


    Würde mich sehr über Hilfe und Anregungen freuen, ich weiß echt so langsam aber sicher nicht mehr weiter.


    Gruß
    Mad

  • Hi Madlip,


    Zitat

    Nun ist es so das man in einer Klasse die von ListFragment ableitet den Dialog als Innerclass machen muss, somit hab ich dann die Funktion setListAdapter nicht mehr direkt zur Verfügung.


    Die Funktion setListAdapter rufst du in der Regel nur am Anfang deiner Anwendung auf. Wenn sich der Datenbestand ändert solltest du den dazu gehörigen Adapter "updaten".


    Beispiel:


    liste.xml



    mfg titus

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!