Wie herausfinden, ob Scrollview Ende erreicht hat

S

Son Goku

Ambitioniertes Mitglied
5
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
 
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?
 
Du kannst doch das ListItem als RelativeLayout machen.
 
Danke für den Tipp, hab mein Problem nun lösen können!
 
Andere die auf diesen Thread stoßen freuen sich bestimmt wenn am Ende eine Lösung steht ;)
 
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. ;)
 

Ähnliche Themen

M
Antworten
3
Aufrufe
146
moin
M
C
  • CoderboyPB
Antworten
3
Aufrufe
925
swa00
swa00
OnkelLon
Antworten
13
Aufrufe
1.973
OnkelLon
OnkelLon
Zurück
Oben Unten