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

ListView in einer Scrollview

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von r4in, 07.11.2011.

  1. r4in, 07.11.2011 #1
    r4in

    r4in Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    88
    Erhaltene Danke:
    3
    Registriert seit:
    16.09.2010
    Hi Leute,

    ich hab zwei ListViews mit verschiedenen Daten und muss, da sie zu groß sind für den Bildschirm, diese beiden Views in eine Scrollview packen. Problem ist das sich die ListViews danach nicht mehr scrollen lassen.

    Hat jemand eine Lösung dafür oder gibt es eine Alternative zu den ListViews?

    Grüße und Dank
     
  2. mradlmaier, 07.11.2011 #2
    mradlmaier

    mradlmaier Gewerbliches Mitglied

    Beiträge:
    158
    Erhaltene Danke:
    17
    Registriert seit:
    28.10.2011
    Eine ScrollView kann nur exakt ein Childelement haben. Du musst deine Listviews also in einen Container (z.b. LinearLayout) packen und den Container als einziges Element deiner ScrollView packen.
     
    r4in bedankt sich.
  3. swordi, 07.11.2011 #3
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    warum solltest du die listviews in eine scrollview packen müssen ?

    eine scrollview ist dazu da, dass der inhalt sich scrollen lässt, wenn zu wenig platz. das macht eine listview ja bereits von haus aus.

    daher werden deine scrollgesten "falsch" interpretiert und das funktioniert nicht. macht auch keinen sinn so.

    wie hast du deine 2 listviews angeordnet ? untereinander, nebeneinander. das lässt sich mit der positionierung schön lösen.

    am einfachsten über layout_weight, einfach die listen aufteilen
     
    r4in bedankt sich.
  4. mradlmaier, 07.11.2011 #4
    mradlmaier

    mradlmaier Gewerbliches Mitglied

    Beiträge:
    158
    Erhaltene Danke:
    17
    Registriert seit:
    28.10.2011
    @swordi: Ja, du hast natürlich recht. Listviews scrollen. Trotzdem, ScrollViews können natürlich nur ein Child Element haben.
     
    r4in bedankt sich.
  5. swordi, 07.11.2011 #5
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    ja das bestreitet keiner, war aber, so wie es verstanden habe, nicht die frage :) weil sonst hätte er eine exception bekommen.
     
    r4in bedankt sich.
  6. r4in, 08.11.2011 #6
    r4in

    r4in Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    88
    Erhaltene Danke:
    3
    Registriert seit:
    16.09.2010
    Danke für eure Antworten.

    Meine Activity ist folgendermaßen aufgebaut

    TextView
    TextView
    TextView
    TextView
    TextView
    ListView
    TextView
    ListView

    Die Anzahl der TextViews ist variable und werden auf einer Datenbank gelesen.
    Es geht sich einfach darum das ich nicht genug Platz habe ohne die ScrollView. Die ListViews nebeneinander anzuordnen, hab ich schon versucht aber sieht ziemlich mies aus.

    Naja, muss ich mir was anderes einfallen, trotzdem vielen Dank für eure Hilfe

    Grüße und Danke
     
  7. the_alien, 08.11.2011 #7
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Wie wäre es mit einem MergeAdapter und mehreren ListAdaptern darin? Gibt auf Github eine schöne Implementation davon.
     
  8. swordi, 08.11.2011 #8
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    naja mit dieser aufstellung wirds leider etwas schwierig, dass anständig zu bauen.

    kannst das nicht aufteilen? eventuell auf 2 screens ?
     
  9. swordi, 08.11.2011 #9
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    oder du verzichtest auf die listview und baust dir alle zeilen selbst zusammen.

    dann kannst es alles in eine scrollview geben und auch scrollen. ist dann halt etwas umständlicher, aber würde funktionieren
     

Diese Seite empfehlen