ich eine recyclerView implementieren müssen, dass meine Fragen auf Parse zeigt, also habe ich es getan:Wie ein verzögertes Laden recyclerView Adapter wie Reich recyclerView Adapter implementieren mit Kotlin
private class Pagination extends RecyclerView.OnScrollListener{
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
visibleItemCount = manager.getChildCount();
totalItemCount = manager.getItemCount();
firstVisibleItemPosition = manager.findFirstVisibleItemPosition();
if (!isLoading && !isLastPage) {
if ((visibleItemCount + firstVisibleItemPosition) >= totalItemCount
&& firstVisibleItemPosition >= 0
&& totalItemCount >= PAGINATION) {
isLoading = true;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
loadData();
}
}, 2000);
}
}
}
}
und es funktioniert gut. Aber vor ein paar Monaten habe ich Realm RecyclerView Adapter verwendet, der ohne Paginierung funktioniert (und es funktioniert sehr gut, weil ich 50k Elemente anzeigen muss) und ich möchte einen Adapter wie diesen machen. Ich habe verwenden Kotlin auch, und ich habe das Konzept eines faulen Variable gesehen:
val lazyValue: String by lazy {
println("computed!")
"Hello"
}
aber ich weiß nicht, wie es zu benutzen Adapter aus diesem Grunde zu machen: wenn ich jetzt eine Abfrage tun, um zu analysieren, es ist so etwas wie diese:
val dishes = ParseQuery.getQuery<ParseObject>("Books").setSkip(index).setLimit(pagination)
dishes.findInBackground { objects, e -> e?.let { listener?.onPaginationError(e.message) } ?:run { createNewDish(objects,listener,false) } }
und wie es funktioniert, wenn ich einen faulen Ansatz verwenden? Ich muss alle Artikel herunterladen oder ich muss auch paginieren?
Vielen Dank für Ihre Hilfe.
Was genau wollen Sie faul für verwenden? – chandil03
@ chandil03 wartet auf die Liste
Lazy-Funktion wird für diesen Fall nicht verwendet. Lazy-Funktionen werden verwendet, wenn Sie die Ressource beim ersten Methodenaufruf und nicht bei der Initialisierung der Variablen laden möchten. – chandil03