使用ArrayAdapter在ListView中自定义行视图

时间:2011-10-06 17:13:17

标签: android listview android-arrayadapter

我有一个带有覆盖ArrayAdapter的listView。在包含ArrayList。对象Order可以具有以下状态:

  • NEW
  • READ
  • ACCEPTED
  • 取消

根据订单的状态,我会对不同的布局进行充气,并使用getView方法中的值填充它并返回View。订单正在每分钟与服务器同步。这样就可以了。如果出现新订单,则将其插入ArrayList并调用NotifyDataSetChange并更新listView。但是,由于某种原因,列表中的某些现有项目会更改其布局(状态不会更改,请在日志中进行检查)。每次调用NotifyDataSetChanged时都会发生这种情况,我在这种行为中看不到任何逻辑或任何内容。有谁知道为什么会这样?

谢谢, 菲利普

1 个答案:

答案 0 :(得分:0)

我得到了它的工作。我认为问题是我从ArrayAdapter扩展并且它在构造函数中接收ROW视图的View资源ID。这是给getView方法的。我正在使用一些教程,如果它是NULL,则在那里测试convertView。如果是我夸大了一个新的布局。比我充满了我的价值观。如果没有,我只是用值填充convertView。我想如果convertView不是null,它包含传递给CustomArrayAdapter的构造函数的膨胀布局,因此改变了行的布局。我可以做对吗?