1

我重复使用相同ListView的方法来浏览数据,同时ListView根据用户单击一行来更新数据。到目前为止,我一直在View整个活动中使用同一行,但是在用户单击一行后,我想为所有行更改为不同的行布局ListView

更具体地说,假设ListView包含行使用layout1,并且用户单击一行。ListView 的数组适配器随后获取一组新数据,并且所有行现在都使用layout2.

我不想在点击后创建一个新ListView的或弄乱setTag丑陋的东西,我只想清除所有通过getView's发送的缓存行视图convertView。我仍然想随后回收layout2视图。

我可以这样做,还是必须“咬紧牙关”?

4

1 回答 1

1

看起来ListView.invalidateViews()会这样做:

public void invalidateViews ()

导致所有视图被重建和重绘。

于 2012-08-01T14:13:24.170 回答