RecyclerViewを使用しています。最初のアイテムの前にアイテムを追加すると、スクロール位置が新しく追加された最初のアイテムに移動します。最初のインデックスに新しいアイテムを追加して呼び出した後、スクロール位置を維持するにはどうすればよいnotifydatasetchange()
ですか?
これは私が私のアダプターで行うことです
mCurrentFragment.items.addAll(0, createLineItems(dataArrayList));
notifyDataSetChanged();
助言がありますか ?
2つのオプションがあります:
より洗練されたバージョンを使用する notify
List newData = createLineItems(dataArrayList);
mCurrentFragment.items.addAll(0, newData);
notifyItemRangeInserted(0, newData.size());
安定したIDを使用します。アダプターをオーバーライドpublic long getItemId (int position)
して、意味のある値を返すようにしsetHasStableIds(true);
、それを呼び出します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加