为什么我们没有ArrayAdapter的notifyDataSetChanged(row)

时间:2011-07-24 17:33:06

标签: android

当我正在进行Swing编程时,javax.swing.table.AbstractTableModel正在使用fireTableCellUpdated(row, col),让我具体说明我要更新的GUI行和列。

然而,当来到ArrayAdapter时,我意识到他们只提供notifyDataSetChanged。我原以为我可以访问notifyDataSetChanged(row),让我更新我感兴趣的项目。我不想更新整个列表。

我想知道为什么我们没有ArrayAdapter的notifyDataSetChanged(row)。或者,我错过了什么?

2 个答案:

答案 0 :(得分:2)

  

我想知道为什么我们没有ArrayAdapter的notifyDataSetChanged(row)。

询问Google。 ; - )

  

或者,我错过了什么?

不。

您(通过调用notifyDataSetChanged())只是告诉ListView重绘整个列表,即使您只需要更新特定项目。我认为谷歌有充分的理由说明为什么会被忽略,但就目前情况而言,你完全对调用notifyDataSetChanged()很好。

答案 1 :(得分:1)

正如您所问,

notifyDataSetChanged()对特定子视图不起作用。它发送listview / tablerows的信号以重新填充新数据。因此,使用此方法告诉整个View使用新数据重新绘制。

观看此视频以获得更熟悉的适配器。 http://www.youtube.com/watch?v=wDBM6wVEO70