I am building an app where Observable emitts ArrayList, and that list has 2 items, but when I run the app on screen it is shown more than once(I see this 2 items, but they are shown more than once). What am I doing wrong? This is my code:
ideaService.getIdeas(page)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<ArrayList<Item>>() {
@Override
public void onCompleted() {
if (ideaAdapter.getItemCount() > 0) {
ideaAdapter.notifyDataSetChanged();
//ideaAdapter.setLoaded();
// startingText.setVisibility(View.GONE);
//mRecycleView.setVisibility(View.VISIBLE);
}
else {
startingText.setText(getString(R.string.no_ideas));
}
if (mSwipeRefreshLayout.isRefreshing()) {
mSwipeRefreshLayout.setRefreshing(false);
}
ideaAdapter.setLoaded();
}
@Override
public void onError(Throwable e) {
e.printStackTrace();
dialog.show();
}
@Override
public void onNext(ArrayList<Item> items) {
//Remove loading item
//ideaAdapter.getmItems().remove(ideaAdapter.getmItems().size() - 1);
//ideaAdapter.notifyItemRemoved(ideaAdapter.getmItems().size());
ideaAdapter.setList(items);
Log.d("Array", "arrayListONE " + ideaAdapter.getmItems().size());
}
});
}
});