In LinearLayoutManager können Sie einige Methoden verwenden, die sie helfen können.
layoutManager.findFirstVisibleItemPosition();
layoutManager.findFirstCompletelyVisibleItemPosition();
layoutManager.findLastVisibleItemPosition();
layoutManager.findLastCompletelyVisibleItemPosition();
Diese gibt die Position als Ganzzahl zurück. Sie können wie unten verwenden:
LinearLayoutManager layoutManager = ((LinearLayoutManager) recyclerView.getLayoutManager());
int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition();
Aber Sie sollten beachten, dass in einigen Fällen, findFirstVisibleItemPosition() in einigen Geräten nicht stabil funktionierte für mich. Zum Beispiel funktionierte es bei Sony-, LG- und Samsung-Geräten, aber derselbe Code funktionierte bei Nexus 5 nicht. Ich bin mir nicht sicher, warum es nicht funktioniert hat, aber ich änderte meinen Ansatz wegen dieses Fehlers.
Wie viele Elemente haben Sie? Vielleicht wäre es besser, 'RecyclerView' anstelle von' LinearLayout' zu verwenden? BTW warum hast du Adapter in diesem Fall? – pxsx
Ich habe RecyclerView mit vertikalem linearen Layout. – user1590595