动态添加视图到Android列表?

时间:2015-09-14 15:04:17

标签: android listview android-arrayadapter

您好我遇到了设计问题,无法找出最佳方法。以下是我想要实现的一个示例:

enter image description here

当用户点击加号图标时,将在当前条件下添加另一行。目前,条件行位于列表视图中,并使用自定义适配器进行设置。左侧列中填充了用户从“选择列”视图中选择的选项。一切正常,但我似乎无法弄清楚如何添加新行。那么有没有办法动态地向列表添加新行并用相同的数据填充它?或者有更好的替代方法来设置它吗?

1 个答案:

答案 0 :(得分:1)

所以你的自定义适配器从三行开始?然后,当用户单击加号图标时,onClick侦听器应调用适配器上的方法,该方法设置某种指示,即现在有四行(之后它调用notifyDataSetChanged())。并且您的getView()方法应查看该指标,如果position == 2(第三行)并且指标未设置,则返回“Order By”视图。如果 设置,则它应该返回“条件视图”,并且只有当位置== 3(第四行)时才返回“顺序依据”视图。这有意义吗?

您的适配器随时反映列表模型的状态。您想要更改ListView的任何事件都应该更新适配器中的某种状态。然后getView()应该在返回视图时始终检查当前状态。所以总是分两个阶段思考:

  1. 您的活动(如onClick)会在适配器的某处更新某些模型数据。

  2. 适配器的getView()方法始终检查适配器中的当前模型数据,以确定如何设置给定位置的视图。