2017-01-06 1 views
0

RecyclerViewを使用してリストを表示します。リスト内のデータを変更してからadapter.setDataNotifyChangeを呼び出しても何も変わりません。なぜadapter.setDataNotifyChangeは、ビューをスクロールするときにのみ機能しますか?

しかし、RecyclerViewをスクロールすると、データが変更されました。

なぜわからないのですか?どうすれば修正できますか?私はリスト内のデータを変更するとすぐにRecyclerViewを変更します。

+0

コードをご記入ください。どこでデータを更新していますか? – firegloves

+0

@firegloves私のプロジェクトは3つのクラスを持っています:主な活動、リサイクラーアダプター、リサイクルビューホルダー。メインのデータを更新します。アダプターがデータの変更を通知する理由を説明することができません。 –

+0

コードなしで何も見えない、私はウィザードではない;) – firegloves

答えて

0

"onBindViewHolder"のイベントがビューで使用できるすべての位置で呼び出されるため、スクロールするときにRecyclerviewが更新されます。

adapter.notifyDataSetChangedは、データセットが変更されたことを登録されたオブザーバーに通知します。[1]

adapter.notifyItemChangedは、登録されたオブザーバーに位置のアイテムが変更されたことを通知します。[1]

コードを掲載できますか?

[1] https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter.html

関連する問題