最初のインデックスにアイテムを追加した後、RecyclerViewのスクロール位置に留まり、notifydatasetchangeを呼び出す方法

eddykordo

RecyclerViewを使用しています。最初のアイテムの前にアイテムを追加すると、スクロール位置が新しく追加された最初のアイテムに移動します。最初のインデックスに新しいアイテムを追加して呼び出した後、スクロール位置を維持するにはどうすればよいnotifydatasetchange()ですか?

これは私が私のアダプターで行うことです

    mCurrentFragment.items.addAll(0, createLineItems(dataArrayList));

    notifyDataSetChanged();

助言がありますか ?

budis

2つのオプションがあります:

  1. より洗練されたバージョンを使用する notify

    List newData = createLineItems(dataArrayList);
    mCurrentFragment.items.addAll(0, newData);
    notifyItemRangeInserted(0, newData.size());
    
  2. 安定したIDを使用します。アダプターをオーバーライドpublic long getItemId (int position)して、意味のある値を返すようにしsetHasStableIds(true);、それを呼び出します

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ