我用我自己BaseAdapter (standingsListAdapter)
的ListView (standingsLV)
。当我设置适配器时:
standingsLV.setAdapter(standingsListAdapter);
getViewTypeCount()
叫做。但后来,当我在适配器中设置新数据时:
standingsListAdapter.setData(data);
在setData(data)
设置新数据调用后notifyDataSetChanged()
:
public void setData(StandingsModelWrapper data) {
groupsData.clear();
if (data != null) {
groupsData.addAll(data.getModel());
}
notifyDataSetChanged();
}
不再调用getViewTypeCount()方法。为什么? 如何强制适配器再次检查 getViewTypeCount()?
为什么我需要这个?
- 我在列表的每一行中显示表格。表格有不同的长度(行数)。
- 我想在适配器中设置新数据,以便表的长度可以改变
这就是为什么每次新数据到达列表适配器时都应该重新计算我的视图类型的数量。