Step 1. Add the JitPack repository to your build file
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Step 2. Add the dependency
<dependency>
<groupId>com.github.mohamadmt</groupId>
<artifactId>endless_scrolling_recyclerview</artifactId>
<version>1.0.2</version>
</dependency>
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
implementation 'com.github.mohamadmt:endless_scrolling_recyclerview:1.0.2'
}
private RecyclerView recyclerView;
private ProgressBar progressbar;
private ScrollObject object;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setup();
}
private void setup{
recyclerView = findViewById(R.id.recycler_view);
progressbar = findViewById(R.id.progressbar);
object = new ScrollObject.Builder()
.setContext(this)
.setCurrentPage(2)
.setVisibleThreshold(6)
.setProgressbar(progressbar)
.setRecyclerView(recyclerView)
.build();
recyclerView.addOnScrollListener(new RecyclerOnScrollListener(object) {
@Override
protected void onLoadMore(int currentPage, int totalPages) {
getData(currentPage);
}
});
....
recyclerView.setAdapter(...);
}
private void getData(int page) {
getRetrofitApi().getData(page).enqueue(new Callback<...>() {
@Override
public void onResponse(Call<...> call, Response<...> response) {
if (response.isSuccessful()){
...
...
if (isLastPage?)
object.loadSuccess(false);
else
object.loadSuccess(true);
}
}
@Override
public void onFailure(Call<...> call, Throwable t) {
object.loadFailed();
}
});
}
Copyright 2018 Mohammad Taheri
Mohammad Taheri
email: taherimohammad08@gmail.com
github: https://github.com/mohamadmt