Я пытаюсь создать вид обмена сообщениями с помощью recyclerView, который начнется снизу и загрузит более подробные данные, когда пользователь достигнет верхней части чата. Но я столкнулся с этой странной проблемой.
Мой recyclerView прокручивает вверх, называя notifyDataSetChanged. Из-за этого onLoadMore вызывается несколько раз.
Вот мой код:
LinearLayoutManager llm = new LinearLayoutManager(context);
llm.setOrientation(LinearLayoutManager.VERTICAL);
llm.setStackFromEnd(true);
recyclerView.setLayoutManager(llm);
** В адаптере
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if (messages.size() > 8 && position == 0 && null != mLoadMoreCallbacks) {
mLoadMoreCallbacks.onLoadMore();
}
** В действии
@Override
public void onLoadMore() {
// Get data from database and add into arrayList
chatMessagesAdapter.notifyDataSetChanged();
}
Это просто, что recyclerView прокручивается вверх. Если прокрутка к верхним стопам, эта проблема будет решена. Пожалуйста, помогите мне разобраться в причине этой проблемы. Спасибо заранее.