との間に違いはListView.invalidateViews()
ありAdapter.notifyDataSetChanged()
ますか?
質問する
18843 次
1 に答える
39
はい、あります。
ListView.invalidateViews()
ListViewにすべての子アイテムビューを無効にする(再描画する)ように指示するために使用されます。
アイテムと同じ数のビューである必要はないことに注意してください。これは、ListViewがアイテムビューをリサイクルし、スクロール中にスマートな方法で画面上を移動するためです。
Adapter.notifyDataSetChanged()
一方、アダプターのオブザーバーに、適応されている内容が変更されたことを通知することです。データセットが変更されたことを通知すると、リストビューがアダプターメソッドを再度呼び出して、スクロールバーの調整、アイテムビューの再生成などを行います。
notifyDataSetChanged
ほとんどの場合、の代わりに使用したいと思うでしょうinvalidateViews
が、それは確かにあなたが達成しようとしていることに依存します。
于 2012-05-20T20:01:48.670 に答える