I implement the following code. It works, but I retrieve it more tha once, it makes many duplication in my data. How do I make it to run the retrieve more data just once?
final LinearLayoutManager layoutManager = (LinearLayoutManager) getLayoutManager();
recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {
boolean loading = true;
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
int pastVisibleItems, visibleItemCount, totalItemCount;
visibleItemCount = layoutManager.getChildCount();
totalItemCount = layoutManager.getItemCount();
pastVisibleItems = layoutManager.findFirstVisibleItemPosition();
if (loading) {
if ((visibleItemCount + pastVisibleItems) >= totalItemCount) {
loading = false;
//retrieve more data from internet
loading = true;
}
}
}
});