ListView Klick Daten auslesen

S

stepi159

Neues Mitglied
0
Hallo

Hab jetzt folgendes Problemchen...
Ich Lese Das Listview wie hier ein und befülle es

Code:
protected void onPostExecute(JSONObject json) {
            osList.clear();
            try {
                items = json.getJSONArray(TAG_ITEMS);
                for (int i = 0; i < items.length(); i++) {
                    JSONObject c = items.getJSONObject(i);
                    final String betreff = c.getString(TAG_BETREFF);
                    String beschreibung = c.getString(TAG_BESCHREIBUNG);
                    String datum = c.getString(TAG_DATUM);


                    HashMap < String, String > map = new HashMap<String, String>();
                    
                    map.put(TAG_BETREFF,betreff);
                    map.put(TAG_BESCHREIBUNG,beschreibung);
                    map.put(TAG_DATUM,datum);
                    osList.add(map);
                    list = (ListView)findViewById(R.id.listView);
                    final ListAdapter adapter = new SimpleAdapter(MyActivity.this,
                            osList,
                            R.layout.list_item,
                            new String[] {TAG_BETREFF, TAG_BESCHREIBUNG, TAG_DATUM},
                            new int[] {R.id.filename, R.id.tvBeschreibung, R.id.tvDatum} );

                    list.setAdapter(adapter);


                    }

Klappt wunderbar...
Aber wenn ich danach probiere über Klicklistener einen Wert heraus zu bekommen bekomme ich immer nur den letzten Wert heraus...
Hab ich da die falsche Variante dafür ?

Vielleicht kann mir wer da einen Tipp geben

LG
 
*hust* Den "Klicklistener" solltest du dann vermutlich auch zeigen? ;)
 
ich Lasse mir einfach nach dem Klick mittels Toast den WERT: TAG_Betreff anzeigen... ist halt dann immer der letzte Eintrag

Der ursprüngliche Beitrag von 09:15 Uhr wurde um 09:41 Uhr ergänzt:

hier der Code

Code:
     list.setAdapter(adapter);

                    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> parent, View view, int position,
                                                long id) {
                            Toast.makeText(getApplicationContext(), TAG_BESCHREIBUNG,
                                    Toast.LENGTH_SHORT).show();


                        }


                    });


Der ursprüngliche Beitrag von 09:41 Uhr wurde um 10:10 Uhr ergänzt:

So bekomme ich jetzt die Komplette Wurst ausgeben.. also von jedem einzelnen Feld in der Position..

Code:
 list.setAdapter(adapter);

                    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> parent, View view, int position,
                                                long id) {


                            String o = list.getAdapter().getItem(position).toString();

                            Toast.makeText(getApplicationContext(), o,
                                    Toast.LENGTH_SHORT).show();


                        }


                    });

Jetzt wäre es aber cool wenn ich nur einen Einzelnen Wert auslese z.B. den Betreff....
 
Über "position" kannst du doch direkt aus osList das angeklickte Item holen.

Achja, ist da die Einrückung im Forum/bei dir falsch oder setzt du bei jedem Element in deinem JSON-Array den Adapter neu, suchst die ListView, erstellst ein neues Map-Objekt, etc?
 
Ich bekomme momentan mit Position heraus
Sieht so aus

{Betreff=test, Beschreibung=blabla}

Usw... Aber ich schaffe es nicht nur zb. Den Wert von Betreff auszulesen...
 
kleinerkathe schrieb:
Über "position" kannst du doch direkt aus osList das angeklickte Item holen.
osList ist was?
osList[position]?
 

Ähnliche Themen

A
Antworten
10
Aufrufe
1.021
swa00
swa00
H
Antworten
2
Aufrufe
1.311
Hcman
H
C
Antworten
8
Aufrufe
1.127
swa00
swa00
Zurück
Oben Unten