notifyDataSetChanged
クラスのメソッドのドキュメントでは、「基になるデータが変更され、データセットを反映するビューはそれ自体を更新する必要があることを、接続されたオブザーバーに通知します」とBaseAdapter
記載されています。
ListView
文字列配列 (の配列データ)の 3 番目の要素を変更したとします。リスト ビューの 3 番目のビュー アイテムは通知されますか?
また、いかがnotifyDataSetChanged()
でしょgetView()
うか?
notifyDataSetChanged
クラスのメソッドのドキュメントでは、「基になるデータが変更され、データセットを反映するビューはそれ自体を更新する必要があることを、接続されたオブザーバーに通知します」とBaseAdapter
記載されています。
ListView
文字列配列 (の配列データ)の 3 番目の要素を変更したとします。リスト ビューの 3 番目のビュー アイテムは通知されますか?
また、いかがnotifyDataSetChanged()
でしょgetView()
うか?
文字列配列 (リストビューの配列データ) の 3 番目の要素を変更したとします。
これは、ユーザーに新しいデータセットを表示するために、そのデータ (この場合は文字列配列) を表示/ベース/使用するビューを無効にする (再測定、再描画) 必要があることを意味します。
リスト ビューの 3 番目のビュー アイテムは通知されますか?
いいえ、保護ListView
者に通知されます。にアダプターを設定するListView
と、( からのListView
) オブザーバーがそのアダプターに設定されます。アダプターを呼び出すと、データに何かが発生したことnotifyDataSetChanged
をオブザーバーに通知します。ListView
この時点でListView
、行が再作成されて新しいデータが表示されます。
また、notifyDataSetChanged() と getView() はどのように関係していますか?
あなたの質問を理解しているかどうかわかりません。getView
アダプタのメソッドは、ListView
必要なたびに新しい行を取得するために使用されます。notifyDataSetChanged
アダプターを呼び出すと、 ListView
. リストを再作成するときが来たら、アダプターListView
のメソッドを呼び出してgetView
、必要な数の行 (画面に表示される行) を表示します。notifyDataSetChanged
したがって、メソッドを呼び出すたびgetView
に、表示されている行に対して呼び出されます。