RecyclerView
を使用してリストを表示します。リスト内のデータを変更してからadapter.setDataNotifyChange
を呼び出しても何も変わりません。なぜadapter.setDataNotifyChangeは、ビューをスクロールするときにのみ機能しますか?
しかし、RecyclerView
をスクロールすると、データが変更されました。
なぜわからないのですか?どうすれば修正できますか?私はリスト内のデータを変更するとすぐにRecyclerView
を変更します。
RecyclerView
を使用してリストを表示します。リスト内のデータを変更してからadapter.setDataNotifyChange
を呼び出しても何も変わりません。なぜadapter.setDataNotifyChangeは、ビューをスクロールするときにのみ機能しますか?
しかし、RecyclerView
をスクロールすると、データが変更されました。
なぜわからないのですか?どうすれば修正できますか?私はリスト内のデータを変更するとすぐにRecyclerView
を変更します。
"onBindViewHolder"のイベントがビューで使用できるすべての位置で呼び出されるため、スクロールするときにRecyclerviewが更新されます。
adapter.notifyDataSetChangedは、データセットが変更されたことを登録されたオブザーバーに通知します。[1]
adapter.notifyItemChangedは、登録されたオブザーバーに位置のアイテムが変更されたことを通知します。[1]
コードを掲載できますか?
[1] https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter.html
コードをご記入ください。どこでデータを更新していますか? – firegloves
@firegloves私のプロジェクトは3つのクラスを持っています:主な活動、リサイクラーアダプター、リサイクルビューホルダー。メインのデータを更新します。アダプターがデータの変更を通知する理由を説明することができません。 –
コードなしで何も見えない、私はウィザードではない;) – firegloves