Ich versuche Laravel Paginierung zum ersten Mal zu implementieren und ich bin verloren, was zu tun ist.Infinity Scroll Android und Laravel 5.2
Ich verwende folgenden werden die Daten aus der Datenbank
$data = DB::table('news')->orderBy('created_at', 'asc')->paginate(15);
return $data;
zu ziehen, und ich bekam die folgende
{"total":3,"per_page":15,"current_page":1,"last_page":1,"next_page_url":null,"prev_page_url":null,"from":1,"to":3,"data":[{"id":1,"news_id":"3869577","news_title":"First Title","news_content":"First", "created_at":"2016-06-06 09:20:33","updated_at":"2016-06-06 09:20:33"},{"id":2,"news_id":"11081411","news_title":"Second Title","news_content":"Second.","created_at":"2016-06-07 07:20:33","updated_at":"2016-06-07 07:20:33"},{"id":3,"news_id":"14646385","news_title":"Third Title","news_content":"Third","created_at":"2016-06-07 14:58:33","updated_at":"2016-06-07 14:58:33"}]}
ich dann EndlessScrollListener
erstellt, die AbsListView.OnScrollListener
Auf meinem Fragment implementiert, ich dann haben:
listview.setOnScrollListener(new EndlessScrollListener() {
@Override
public boolean onLoadMore(int page, int totalItemsCount) {
// Triggered only when new data needs to be appended to the list
// Add whatever code is needed to append new items to your AdapterView
customLoadMoreDataFromApi(page);
// or customLoadMoreDataFromApi(totalItemsCount);
return true; // ONLY if more data is actually being loaded; false otherwise.
}
});
Dann
// Append more data into the adapter
public void customLoadMoreDataFromApi(int offset) {
// This method probably sends out a network request and appends new data items to your adapter.
// Use the offset value and add it as a parameter to your API request to retrieve paginated data.
// Deserialize API response and then construct new objects to append to the adapter
}
Fragen
- Wie kann ich die nächste URL contruct mehr Daten zu holen?
- Muss ich die neue URL auf meiner Route in Laravel erfassen?
Danke für die Hilfe
rufen Sie Ihre Daten Aufgabe innerhalb customLoadMoreDataFromApi holen() – DKV
, dass ich schon wissen, gibt es zwei Fragen, die ich über 1 gefragt und 2. – BlackPearl
Sie brauchen nicht die URL zu konstruieren - laravle dies für Sie tut - es ist die nächste Seiten-URL-Eigenschaft, die Null ist, wenn keine nächste Seite vorhanden ist, da Sie insgesamt 3 Elemente mit 15 Seiten pro Seite haben. 2. Rufen Sie einfach diese URL auf, Laravel holt sie bereits korrekt. –