1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. MBPower, 27.03.2010 #1
    MBPower

    MBPower Threadstarter Erfahrener Benutzer

    Kann mir jemand sagen, warum Code A funktioniert und Code B nicht?
    Ich möchte gerne in einer while Schleife ein Array füllen un das dann in ein ListView ausgeben, aber bekomme es leider nicht auf die Reihe.

    Code A
    Code:
    String lv_arr[]={"Test 1","Test 2","Test 3"};
    lvwData=(ListView)findViewById(R.id.lvwData);
    lvwData.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));
    
    Code B

    Code:
    String[] lv_arr = new String[10];  
    lv_arr[0]="Test 1";
    lv_arr[1]="Test 2";
    lv_arr[2]="Test 3";
                
    lvwData=(ListView)findViewById(R.id.lvwData);
    lvwData.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));
    
     
    Zuletzt bearbeitet: 27.03.2010
  2. TheFlatz|Veit, 28.03.2010 #2
    TheFlatz|Veit

    TheFlatz|Veit Android-Hilfe.de Mitglied

    Hallo,

    du dimensionierst dein Array mit zehn Strings, füllst es letztendlich aber nur mit drei Strings.
    Ich würde an deine Stelle mit Listen arbeiten. Dort ist es ohne viel Aufwand möglich die Größe dynamisch zu halten und leere Elemente vorzubeugen.
     
  3. MBPower, 28.03.2010 #3
    MBPower

    MBPower Threadstarter Erfahrener Benutzer

    Das mit dem Array und 3 Strings war ja nur ein Beispiel.
    Was genau meinst Du mit Listen? Hast Du ein Link dazu oder ein paar mehr Infos?
     
  4. TheFlatz|Veit, 28.03.2010 #4
    TheFlatz|Veit

    TheFlatz|Veit Android-Hilfe.de Mitglied

    Dein Beispiel kann aber genau aus dem Grund nicht funktionieren.
    Änderst du in deinem Code B

    Code:
    String[] lv_arr = new String[10];
    
    in
    Code:
     String[] lv_arr = new String[3];
    
    funktioniert das Ganze ja. Es knallt, weil du leere Elemente übergibst.
    Google hilft da weiter. Stichwort "LinkedList". Im Grunde genommen sind das nur Klassen die eine Menge an generischen Typen verwalten. Das Handling wird über spezielle Methoden weitaus komfortabler gestaltet als mit Arrays.
     
    MBPower bedankt sich.
  5. MBPower, 28.03.2010 #5
    MBPower

    MBPower Threadstarter Erfahrener Benutzer

    Danke Dir und einen schönen Sonntag Abend noch. :)
     

Diese Seite empfehlen