Ich verwende es, aber es gibt immer 0 zurück, obwohl ich bis zum Ende der Liste gescrollt habe.Android: ListView.getScrollY() - Funktioniert es?
Antwort
getScrollY() ist eigentlich eine Methode auf Ansicht, nicht ListView. Es bezieht sich auf den Scroll-Betrag der gesamten Ansicht, so dass es fast immer 0 ist.
Wenn Sie wissen möchten, wie weit der Inhalt der ListView gescrollt wird, können Sie listView.getFirstVisiblePosition();
danke Mann :) das erklärt wirklich viel :) – cV2
Beachten Sie, dass getFirstVisiblePosition das * Element * nicht die * Position * zurückgibt, daher ist es nicht etwas, das Sie als Alternative zu getScrollY verwenden können, außer in dem Umstand, dass alle Listenelemente haben genau die gleiche Höhe. –
Ist es scroolView Position am oberen Ende des Viewports oder am Ende? –
Es funktioniert, es gibt den oberen Teil des Bildlaufabschnitts der Ansicht in Pixel vom oberen Rand der sichtbaren Ansicht zurück. Siehe die getScrollY() Dokumentation. Wenn Ihre Liste die volle Ansicht einnimmt, erhalten Sie immer 0, weil der obere Teil der Liste immer oben auf dem Bildschirm angezeigt wird.
Was Sie sehen sich an, wenn Sie am Ende einer Liste sind, ist so etwas wie dieses:
public void onCreate(final Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.main);
// The list defined as field elswhere
this.view = (ListView) findViewById(R.id.searchResults);
this.view.setOnScrollListener(new OnScrollListener() {
private int priorFirst = -1;
@Override
public void onScroll(final AbsListView view, final int first, final int visible, final int total) {
// detect if last item is visible
if (visible < total && (first + visible == total)) {
// see if we have more results
if (first != priorFirst) {
priorFirst = first;
//Do stuff here, last item is displayed, end of list reached
}
}
}
});
}
Der Grund für die priorFirst Zähler ist, dass manchmal bewegen können Ereignisse mehrfach erzeugt werden, so Sie müssen nur auf das erste Mal reagieren, wenn das Ende der Liste erreicht ist.
Wenn Sie versuchen, eine automatisch wachsende Liste zu erstellen, würde ich vorschlagen, diese tutorial.
- 1. Android: Bitmap recycle() wie funktioniert es?
- 2. Android - setOnClickListener Methode, wie funktioniert es?
- 3. Android In-App-Kauf Freedom Hack - Wie funktioniert es?
- 4. indexOf() - Liste - Android - Funktioniert nicht wie es sollte
- 5. Android Erlaubnis funktioniert nicht, auch wenn ich erklärt haben, es
- 6. Android - OpenGL ES 2.0: Emulator (funktioniert) - Gerät (nicht)
- 7. Android funktioniert nicht
- 8. Android HttpUrlConnection funktioniert nicht
- 9. Android - Vibrationsgerät funktioniert nicht
- 10. Android - onBackPressed() funktioniert nicht
- 11. Android-Code funktioniert nicht
- 12. Wie funktioniert Android Asynctask?
- 13. Android SharedPreferences nicht funktioniert
- 14. Android Sharedpreferences funktioniert nicht
- 15. Android-Übergangsanimation funktioniert nicht
- 16. Android - DatabaseUtils.sqlEscapeString() funktioniert nicht
- 17. Wie funktioniert Android ViewPager?
- 18. android onClick Funktioniert nicht
- 19. Android-Anmeldeschlüssel funktioniert nicht
- 20. Android - addToBackStack() funktioniert nicht?
- 21. Android | RecyclerView funktioniert nicht
- 22. Android: SpeechRecognition funktioniert nicht
- 23. Android-Thread funktioniert nicht
- 24. Android DrawerLayout.setDrawerLockMode() funktioniert nicht
- 25. Android CirclePageIndicator funktioniert nicht
- 26. Android: notifyDataSetChanged(); funktioniert nicht
- 27. Was ist ActionScript 3? Wie funktioniert es?
- 28. Android: TextToSpeech funktioniert nicht
- 29. Android RecyclerView.Adapter onCreateViewHolder() funktioniert
- 30. Android durchsuchbar funktioniert nicht
Wenn Sie die Anzahl der Pixel suchen, die am Anfang der Liste verschwindet, wenn der Benutzer nach unten scrollt, sehen Sie sich [meine Antwort hier] an (http://stackoverflow.com/questions/10808387/android- getting-genau-scroll-position-in-listview/13415273 # 13415273) – Maria
Die richtige [Lösung] (http://stackoverflow.com/questions/12727594/android-listview-current-scroll-location-y-pixels/35594825 # 35594825) – Sarasranglt