2011-07-24 22 views
0

當我在做Swing編程時,javax.swing.table.AbstractTableModelfireTableCellUpdated(row, col),讓我具體指定哪一行和哪一列的GUI要更新。爲什麼我們沒有ArrayAdapter的notifyDataSetChanged(row)

但是,當涉及到ArrayAdapter,我意識到他們只提供notifyDataSetChanged。我期待着我有權訪問notifyDataSetChanged(row),讓我更新我感興趣的項目。我不想更新整個列表。

我想知道爲什麼我們沒有ArrayAdapter的notifyDataSetChanged(row)。或者,我錯過了什麼?

回答

2

我想知道爲什麼我們沒有ArrayAdapter的notifyDataSetChanged(row)。

問Google。 ;-)

或者我錯過了什麼?

沒有。

你是(通過調用notifyDataSetChanged())只是告訴ListView重繪整個列表,即使你只需要更新一個特定的項目。我相信谷歌有一個很好的理由,爲什麼這個被省略,但現在看來,你完全是罰款與撥打notifyDataSetChanged()罰款。

1

notifyDataSetChanged()對特定子視圖不起作用,正如您所詢問的那樣。它發送listview/tablerows的信號,並用新數據重新填充。因此,整個視圖被告知使用這種方法重新繪製新數據。

觀看此視頻以獲得更多熟悉的適配器。 http://www.youtube.com/watch?v=wDBM6wVEO70

相關問題