1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Progressbar dupliziert sich beim Scrollen in der ListView

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Freddchen, 09.02.2012.

  1. Freddchen, 09.02.2012 #1
    Freddchen

    Freddchen Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    09.02.2012
    Hallo zusammen,

    ich habe folgendes Problem bei meiner ListView.
    Wenn ich eine bestimmte "Row" anspreche und die ProgressBar sichbtbar mache und dann die Liste scrolle bekommen blöderweise auch die anderen Listview Elemente eine ProgressBar. Soweit ich verstanden habe werden die Rows beim Scrollen recycled, aber wie kann ich das Problem umgehen oder ausschliessen?
     
  2. swordi, 09.02.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    das thema wurde alleine in diesem forum schon mindestens 50 mal besprochen.

    wie du schon richtig weißt, werden views wieder verwendet. du musst also in jedem getView deine progresswerte für JEDEN fall setzen.

    am beispiel einer textview dessen farbe sich bei jeder 2. reihe ändern soll:

    es reicht ein
    Wenn 2. reihe - setze Farbe grün
    NICHT(!) aus.

    du musst auch noch ein
    SONST setze Farbe rot
    hinzufügen.

    ich hoffe das hilft dir
     
    Freddchen bedankt sich.
  3. Freddchen, 09.02.2012 #3
    Freddchen

    Freddchen Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    09.02.2012
    vielen dank für deine schnelle antwort.
    ich mache das nun so, dass die progressbar invisible geschaltet wird wenn es sich nicht um die richtige zelle handelt. da ich allerdings in einem getrennten thread den kram ausführen lasse benutze ich auch kein getView. blöderweise fängt aber dann die progressbar an zu flackern sobald ich auch in einer zweiten oder dritten zelle einen downloadprozess starte. gibt es denn hierfür vielleicht eine andere lösung?
     
  4. swordi, 09.02.2012 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    Ich habe in so einem Fall auf die listview verzichtet und mir die Zeilen selbst gebaut

    Gesendet mit der Android-Hilfe.de-App
     
    Freddchen bedankt sich.
  5. Freddchen, 09.02.2012 #5
    Freddchen

    Freddchen Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    09.02.2012
    ja, das habe ich auch mal irgendwo gelesen, aber wie geht das? Ich habe jetzt die einzelne Row als Layout und wie baue ich das zusammen? Ich weiss auf jedenfall das ich um das alles eine ScrollView fassen muss
     
  6. swordi, 09.02.2012 #6
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    ja einfach das Layout der reihe inflaten und zum Container (zb linearlayout) adden

    Container.addview(row)

    Usw...
    Gesendet mit der Android-Hilfe.de-App
     
    Freddchen bedankt sich.
  7. Freddchen, 10.02.2012 #7
    Freddchen

    Freddchen Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    09.02.2012
    ich mache das bereits über den layout inflater -> LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    v = vi.inflate(R.layout.row, null);

    die liste wird komplett dynamisch aufgebaut. scheint wohl ein größeres ding zu sein. muss ich dann ein linear layout nehmen und da die einzelnen rows reinpacken wie zum beispiel textview elemente? dadrum nochmal ein scrollview? brauche ich dann noch den adapter?
     
  8. swordi, 10.02.2012 #8
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    eben ganz ohne adapter
     
    Freddchen bedankt sich.
  9. Freddchen, 10.02.2012 #9
    Freddchen

    Freddchen Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    09.02.2012
    Vielen Dank für deine Hilfe!
    Hat alles super geklappt. Die Performance ist zwar so ähnlich wie beim Einkaufswagen, aber die Hauptsache es klappt. :thumbup:
     

Diese Seite empfehlen