下から開始し、ユーザーがチャットの上端に達したときにさらにデータをロードする 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 が一番上にスクロールするだけです。一番上までスクロールすると、この問題は解決されます。この問題の原因を突き止めるのを手伝ってください。前もって感謝します。