2016-06-29 19 views
1

私のアプリケーションにページネーションを実装しようとしていて、部分的に成功しました。サーバーを呼び出すと、6つのアイテムが取得され、それらのアイテムをrecyclerviewに追加しています。ユーザーが来て最後の項目をスクロールすると、もう1回サーバーを呼び出しています。ページ2の項目を取得していて、既存のリストに新しい項目を追加しています。リストの先頭に移動せずに既存リストのリサイクルビューに新しいアイテムのリストを追加するには

新しいアイテムを追加できました。しかし、問題は私がadapter.notifyDataSetChanged()と呼んでいるため、新しい項目を追加した後の最初の項目に移動します。

リストの先頭に移動しないようにするにはどうすればいいですか?adapter.notifyDataSetChanged()以外はどうすればいいですか?

toadlineAdapter = new ToadlineAdapter(mContext, getData()); 
recyclerView.setAdapter(toadlineAdapter); 
// remove below line 
// toadlineAdapter.notifyDataSetChanged(); 
toadlineAdapter.setClickListener(this); 
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); 

そして、あなたは元のために、項目を追加するときに通知:以下は、アダプタを初期化するときに通知する必要はありませアダプタ

toadlineAdapter = new ToadlineAdapter(mContext, getData()); 
recyclerView.setAdapter(toadlineAdapter); 
toadlineAdapter.notifyDataSetChanged(); 
toadlineAdapter.setClickListener(this); 
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); 
+0

NO THERE ISこのアダプタを 'recyclerView'に設定した後に' notifyDataSetChanged'を呼び出す必要があります!!!!!!!!!!!! ...項目を追加するコードはどこにありますか? – Selvin

+0

...また 'RecyclerView.Adapter.notifyDataSetChanged()'からもdocs - *できるだけ具体的な変更イベントを使用する方が、より効率的になるでしょう。 **最後の手段としてnotifyDataSetChanged()を利用してください。*** ....あなたはそれを読み込もうとしましたか? – Selvin

答えて

-1

を設定しないの私のコードです

YOURLIST.add(YOUROBJECT); 
toadlineAdapter.notifyDataSetChanged(); 
関連する問題