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

Wie herausfinden, ob Scrollview Ende erreicht hat

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Son Goku, 28.10.2011.

  1. Son Goku, 28.10.2011 #1
    Son Goku

    Son Goku Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    55
    Erhaltene Danke:
    5
    Registriert seit:
    07.12.2010
    Hallo

    Ich habe eine Scrollview, die ein RealtiveLayout beinhaltet. Dieses beinhaltet standardmäßig x weitere RelativeLayouts.
    Wenn ich am Ende der Scrollview angelangt möchte ich x weitere RelativeLayouts einblenden, die automatusch, wenn das Ende der ScrollView erreicht wird, aus dem Web nachgeladen werden sollen.

    Bisher hatte ich bei anderen Activitys, die eine Scrollview beinhaltet haben, immer die (fester) Höhe der einzelnen Elemente gekannt und konnte somit ausrechnen, wann verschiedene Elemente in den sichtbaren Bereich gelangen bzw. das Scrollview ganz am Ende angelangt ist. Nun habe ich diese feste Höhe aber nicht mehr, da der Inhalt mal mehr bzw. mal weniger sein kann.

    Wie kann ich herausfinden, wenn die Scrollview ganz nach unten gescrollt wurde?
    Bzw. kann ich bestimmen wie hoch der Inhalt des Scrollviews ist, damit ich zumindest nach "alter" (aktueller) Logik bestimmen kann, wann ich den Ende erreicht hab?
    Oder kann man sogar abfragen, wenn ein bestimmten Element am Bildschirm zu sehen ist, ohne das berechnen zu müssen?

    Die Methode "getEdgeFlags()" der Klasse "MotionEvent" gibt hier leider immer 0 zurück.

    Viele Grüße
    Son Goku
     
  2. the_alien, 28.10.2011 #2
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
  3. Son Goku, 28.10.2011 #3
    Son Goku

    Son Goku Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    55
    Erhaltene Danke:
    5
    Registriert seit:
    07.12.2010
    Danke, aber ich glaube das habe ich schon gesehen.
    Ich bin an dem Punkt gescheitert, an dem ich festgestellt hab, dass ein Scroll View keinen "OnScrollListener" besitzt.
    Und meines Wissens nach, kann ich kein RelativeLayout in eine Listview packen.
    Oder liege ich da irgendwo falsch mit meinen Gedanken?
     
  4. the_alien, 28.10.2011 #4
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Du kannst doch das ListItem als RelativeLayout machen.
     
  5. Son Goku, 02.11.2011 #5
    Son Goku

    Son Goku Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    55
    Erhaltene Danke:
    5
    Registriert seit:
    07.12.2010
    Danke für den Tipp, hab mein Problem nun lösen können!
     
  6. the_alien, 02.11.2011 #6
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Andere die auf diesen Thread stoßen freuen sich bestimmt wenn am Ende eine Lösung steht ;)
     
  7. Son Goku, 02.11.2011 #7
    Son Goku

    Son Goku Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    55
    Erhaltene Danke:
    5
    Registriert seit:
    07.12.2010
    Oje....

    Was mich zuerst irritert hat war, dass ich gedacht habe, in einem ListView könnte ich nur Stringarrays darstellen. Deshalb mein erster Versuch mit der Scrollview.

    Ich also hab zuerst aus meinem ScrollView zuerst ein ListView gemacht.
    Dann kann ich mit Hilfer des "OnScrollListener" genau feststellen, wo ich mich in meiner Liste befinde, um danach weitere Elemente Nachladen zu können, ohne Pixel berechnen zu müssen. (Klick mich)

    Danach hab ich dieses Beispiel gefunden und mir danach mit dessen Hilfe meinen eigenen ListAdapter geschrieben.

    Nachgeladene Items hänge ich dann mit folgender Zeile an meine Liste an:
    Code:
    listAdapter.add(itemList.get(i));
    
    Das dürfte eigentlich für jeden reichen, sich selbst seine individuell passende Lösung zu schreiben.


    Achja: Das hat auch mein Problem mit den Hängen der App beim Nachladen von Bilden/Daten hab ich dadurch übrigens auch lösen können. Ist seitdem nicht mehr aufgetreten. Oder es lag an dem Update der Android SDK, das ich mittlerweile installier hab. Das kann ich jetzt nicht mehr beurteilen. ;)
     

Diese Seite empfehlen