2016-08-31 4 views
0

Ich muss alle Elemente eines String Array in einer zweizeiligen ListView auflisten.Elemente zur ListView dynamisch hinzufügen

Das String Array ist dynamisch und kann sich entweder in der Größe oder im Inhalt ändern. Wenn beispielsweise die Größe des String-Arrays 5 beträgt, sollen 5 listView-Elemente angezeigt werden.

Haben Sie eine Idee, wie man das macht? nur

Ich habe es mit dieser versucht, aber diese Liste das erste Element:

// wenn noch keine Standorte hinterlegt sind gibt es eine CursorIndexOutOfBoundsException 
    try { 
     datum_global = datenBankHelper.get_datum(); 
     int alle_eintraege_aller_datumsangaben = datum_global.length; // Alle Einträge von allen Datumsangaben (auch von gleichen) 

     Log.d("size", "size " + alle_eintraege_aller_datumsangaben + "|" + datum_global[0]);  // z.B. 27, da 27 Einträge für alle Datumsangaben 

     for(int i= 0; i < alle_eintraege_aller_datumsangaben; i++) { 
      gespeicherte_routen = new String[][]{ 
        {datum_global[i], "Anzahl Einträge: " + "Test"} 
      }; 
     } 

    } catch (CursorIndexOutOfBoundsException cs){ 

    } 


    @SuppressWarnings("Convert2Diamond") ArrayList<HashMap<String, String>> list = null; 

    // wenn noch keine Standorte hinterlegt sind gibt es eine NullPointerException 
    try { 
     list = new ArrayList<HashMap<String, String>>(); 


     HashMap<String, String> item; 
     for (String[] routen : gespeicherte_routen) { 

      Log.d("schleife3", "schleife3 " + routen[0] + "|" + routen[1] + gespeicherte_routen.length); 
      //noinspection Convert2Diamond 
      item = new HashMap<String, String>(); 
      item.put("line1", routen[0]); 
      item.put("line2", routen[1]); 

      list.add(item); 
     } 

    }catch(NullPointerException np){ 

    } 

Danke für die Hilfe.

+0

können Sie es erklären deutlicher –

+1

Es ist die einfache Listenansicht, nichts Besonderes. Verwenden Sie ein beliebiges listView-Tutorial, das Sie in Google in etwa 8 Sekunden finden –

Antwort

1

ein ListView braucht eine Adapter die Daten zu zeigen, und die Adapter braucht eine List (von Strings in diesem Fall). wenn Sie die Werte in der Liste ändern müssen Sie nur notifyDataSetChanged() auf der Adapter rufen und die ListView aktualisiert auf eigene

ListView mListView; 
ArrayAdapter mAdapter; 
List<String> mList; 

//... 

mAdapter = new ArrayAdapter(context, R.layout.something, mList); 
mListView.setAdapter(adapter); 

// .. 

mList.add("bla bla"); 
mAdapter.notifyDataSetChanged(); 
Verwandte Themen