1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. oetzi, 23.10.2011 #1
    oetzi

    oetzi Threadstarter Erfahrener Benutzer

    Nabend zusammen,

    ich habe gerade mal beispielweise eine ListView umgesetzt.
    Dabei habe ich zunächst zum füllen der Liste ein statisches String-Array benutzt. Das funktioniert soweit auch alles gut, das war aber ja auch nur die Übung für folgendes :)

    Was ich eigentlich möchte ist:
    - Ein Objekt-Array von einem Server holen (erledigt)
    - Die einzelnen Objekte in einer auswählbaren Liste darstellen
    - und auf Klick eines Eintrags reagieren

    Die Objekte haben vereinfacht gesagt eine ID und eine Beschreibung.

    -> Wie kriege ich jetzt eine ListView erstellt, der ich sowohl die ID und die Beschreibung pro Eintrag mitgeben kann?

    Beispiel-Liste (ID - Beschreibung):
    23 - Hallo
    44 - Welt
    10 - !
    Tippe ich auf "Welt" möchte ich die 44 auswerten können, sprich im Endeffekt wissen, welches Objekt gemeint ist.

    Ich hoffe das war jetzt verständlich genug beschrieben :)

    Schönen Gruß,
    oetzi

    PS:
    Folgende Lösungsmöglichkeit könnte ich mir selbst vorstellen, finde ich aber ein wenig dreckig:
    - nur die Beschreibungen der Objekte in die Liste einfügen
    - bei Klick den Index des ausgewählten Strings auswerten
    - und das Objekt über den Index in meinem Ursprungsarray suchen
    Dabei müsste man dann aufpassen, dass man die Reihenfolge in der Darstellung (z. B. alphabetische Sortierung) nicht verändert, da mir sonst der Index nichts mehr bringt.
    Würde ich wie oben beschrieben einfach die konkrete ID des Objektes zurück kriegen, wäre das ganze wesentlich besser überschaubar und weniger fehleranfällig.
     
  2. nijoX, 24.10.2011 #2
    nijoX

    nijoX Junior Mitglied

    Hi oetzi,

    spontan fiele mir jetzt dazu ein, die beiden werte, also ID und Beschreibung, in ein String [] zu packen. Um dann das String [] wieder zu bekommen musste einen eigenen Adapter für die Liste anlegen und dessen getView() methode überschreiben so das er nen String [] bekommt, aber nur das erste Element (in dem Fall die Beschreibung) als Text ausgibt. so kannst du dann per OnItemClickListener.getItemAtPosition auf deine ID zugreifen ... ist zwar auf keinen fall die besste variante aber so geht´s auf jeden Fall. :)

    MfG nijoX
     
  3. oetzi, 24.10.2011 #3
    oetzi

    oetzi Threadstarter Erfahrener Benutzer

    Hi nijox,

    danke für die Beschreibung dieser Möglichkeit.
    Allerdings hast du ja schon selbst gesagt, dass das jetzt nicht wirklich sauberer ist, wie meine Frickellösung :)

    Mal gucken, ob noch jemand eine grandiose Idee hat ;-)
     
  4. nijoX, 24.10.2011 #4
    nijoX

    nijoX Junior Mitglied

    anstatt eines String[] kannst das Object was du bekommt natürlich auch Parcelable machen ... das wäre vermutlich die gescheiteste Lösung ;)

    (kam vorhin nur net mehr auf den namen :D)

    MfG nijoX
     
  5. Unicate, 24.10.2011 #5
    Unicate

    Unicate Android-Experte

    oetzi gefällt das.
  6. oetzi, 25.10.2011 #6
    oetzi

    oetzi Threadstarter Erfahrener Benutzer

    Hi Unicate,

    na da hat der Kollege und ich ja fast zeitgleich die selbe Frage.
    Danke! Ich werde mir das sofort mal angucken

    Gruß,
    oetzi
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] DialogFragment dynamisch mit RecyclerView füllen Android App Entwicklung 02.06.2017
[ERLEDIGT] Existierendes Objekt immer NULL Android App Entwicklung 10.05.2017
[ERLEDIGT] Listview mit Datenbank über Custom ArrayList verbinden Android App Entwicklung 22.04.2017
[ERLEDIGT] Drawer mit scrollbarem Listview Android App Entwicklung 27.03.2017
ListView fix am unteren Bildschirmrand ausgeben Android App Entwicklung 01.03.2017
ArrayList Elemente beinhalten nur Daten des letzten Elements? Android App Entwicklung 25.02.2017
Intent mit Daten (putExtra) zu anderer Activity Android App Entwicklung 14.02.2017
Wie speichere ich dauerhaft Daten unter Android ? Android App Entwicklung 06.02.2017
AsyncTasks: "FTP Download" / "FTP liste Daten in Verzeichnis" Probleme Android App Entwicklung 16.01.2017
ProgressBar in ListView Android App Entwicklung 03.01.2017
Du betrachtest das Thema "ListView mit Objekt-Array Daten füllen" im Forum "Android App Entwicklung",