i am very new as Android Developers, and i am making app with json and retrofit to fetch posts from wordpress, i can see latest 10 posts but i want to load next 10 while scroll down, i use this code but it load same 10 posts again and again , this is my code in MainActivity
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener()
{
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy)
{
// Log.e("...", " onscroll dx " + dx +" dy "+ dy);
try{
if(dy > 0) //check for scroll down
{
visibleItemCount = mLayoutManager.getChildCount();
totalItemCount = mLayoutManager.getItemCount();
pastVisiblesItems = mLayoutManager.findFirstVisibleItemPosition();
if (loading)
{ // Log.e(TAG, " page count lock "+PageCountLock);
progressBar.setVisibility(View.VISIBLE);
if ( pastVisiblesItems >= (totalItemCount/3) ){
Log.e(TAG," on scroll visible - "+ visibleItemCount+" total "+ totalItemCount+" pastvisible "+pastVisiblesItems );
getRetrofit( );
}
if ( (visibleItemCount + pastVisiblesItems) >= totalItemCount)
{
// loading = false;
Log.e("...", "Last Item readed in list **** ");
}
}
}
}catch (Exception e){
Log.e(TAG,"scrooll action "+ e.toString());
}
}
});
please can you tell me how to fetch next posts ?
this is to get posts from Retrofit
public void getRetrofit(){
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(baseURL)
.addConverterFactory(GsonConverterFactory.create())
.build();
RetrofitArrayApi service = retrofit.create(RetrofitArrayApi.class);
Call<List<WPPost>> call = service.getPostInfo();
call.enqueue(new Callback<List<WPPost>>() {
@Override
public void onResponse(Call<List<WPPost>> call, Response<List<WPPost>> response) {
Log.e("mainactivyt", " response "+ response.body());
mListPost = response.body();
progressBar.setVisibility(View.GONE);
for (int i=0; i<response.body().size();i++){
Log.e("main ", " title "+ response.body().get(i).getTitle().getRendered() + " "+
response.body().get(i).getId());
String tempdetails = response.body().get(i).getExcerpt().getRendered().toString();
tempdetails = tempdetails.replace("<p>","");
tempdetails = tempdetails.replace("</p>","");
tempdetails = tempdetails.replace("[…]","");
list.add( new Model( Model.IMAGE_TYPE, response.body().get(i).getTitle().getRendered(),
tempdetails,
response.body().get(i).getLinks().getWpFeaturedmedia().get(0).getHref()) );
}
adapter.notifyDataSetChanged();
}
@Override
public void onFailure(Call<List<WPPost>> call, Throwable t) {
}
});
}
public static List<WPPost> getList(){
return mListPost;
}