2017-05-16 6 views
1

私がする必要があるのは、項目をRecyclerViewの先頭に挿入することです。notifyItemInserted()が期待したとおりに動作しない

mItems.add(0, item); 
notifyItemInserted(0) 

は、残念ながらそれだけでRecyclerViewの最後の項目をリロードだ:私は私の項目のListを持続し、私はRecyclerViewの先頭に追加したいとき、私は単純にこのコードを使用していアダプタを持っています。もちろん、私がnotifyItemInsertednotifyDataSetChanged()に変更すると、すべて正常に動作します。 notifyItemInsertedが適切でないのはなぜですか?

+0

これをチェックしてください:http://stackoverflow.com/questions/39683237/android-recyclerview-adapter-notifyiteminserted-and-notifyitemmoved-at-index-0 – X3Btel

答えて

3

これは使用しています。

mItems.add(0, item); 
notifyItemInserted(0) 

これは使用する必要があります。

mItems.add(item); 
notifyItemInserted(0) 

そして、唯一それが最初の場合のように動作する第2のシナリオでは、アイテムは、0番目の位置に上部すなわちに押されているのに対し、あなたは、項目に0番目のインデックス項目を交換します。

+0

これらの部分の違いは何ですか? – ThirdMartian

+0

おっと...!私の悪い。修正されました。ありがとう@ TirdMartian – Ritesh

関連する問題