나는 응용 프로그램을 만들고 있는데 Obravable에서 emmited 인 Arraylist를 사용합니다. 그 목록에는 20 개의 항목이 있습니다. 첫 번째 10 개 항목은 1 페이지에 있고 두 번째 항목은 2 페이지에 있습니다.하지만 2 페이지에 갈 때 처음 10 개 항목이 삭제되고 2 페이지에서 10 개 항목 만 표시됩니다. . 2 페이지에있는 20 개의 모든 항목을 보여주고 싶습니다. 2 페이지의 10 개 항목뿐 아니라 도와 주시겠습니까? 당신은 당신이 가지고 있지만 adapter
어떤 방식을 모르는왜 내가 page2에 갈 때 ArrayList의 첫 페이지의 항목이 삭제 되었습니까?
ideaAdapter.clear();
ideaAdapter.setList(items);
이 일을하는
같아요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.clear();
ideaAdapter.setList(items);
Log.d("Array", "arrayListONE " + ideaAdapter.getmItems().size());
}
});
}
});
다음 시도 내가 예를 들어 50 개 항목 (페이지 당 10 개 항목)이 있다면? –
일부 ID 기반 접근 방식을 사용하면 배열 목록을 적절하게 하위 목록으로 만들 수 있습니다. – Sush