如何在列表视图中存储多个字段

时间:2012-10-18 12:12:30

标签: android android-layout android-intent android-widget

在我看来,我有3个编辑文本,3个按钮说添加,删除,保存。

  1. 按下添加按钮时,我想将这3个字段值存储到我的列表视图中。
  2. 按删除我想从列表视图中删除这三个字段。
  3. 按下保存时我想将列表视图中的整个数据保存到我的本地数据库中。
  4. 请告诉我如何创建列表视图以存储3个值。是否可以为列表视图创建标题?

3 个答案:

答案 0 :(得分:0)

可以通过以下方式为列表视图创建标题

list.addHeaderView(headerView)

但ListView是一个非常复杂的视图,所以如果你只有几个元素(例如3),建议动态添加视图(最后几分钟见Google IO presentation

希望有所帮助:)

答案 1 :(得分:0)

您可以在每个项目中创建一个包含3个子视图的列表视图。要做到这一点:

  1. 为要在项目中显示的3个对象创建一个类(容器)
  2. 保留要在列表视图中显示的对象的列表/数组
  3. 实施您自己的Adapter
  4. 使用存储对象的数组/列表创建适配器
  5. 覆盖适配器的getView:方法 - 为要显示的3个值夸大视图(可能包含3个子视图)
  6. 当您触摸“添加”时,为3个值创建一个对象并将其添加到对象数组中。您将不得不处理适配器的项目更新。

答案 2 :(得分:0)

此代码将使用列表视图绑定您的数据。您将需要一个xml文件(R.layout.itemlistviewselectform),其中包含每个项目所需的视图。

在此代码中: lv是你的列表视图。

listItems你的数据,在我的例子中是一个HashMap的ArrayList,有两个键:name和description。

第4个参数是将接收名称和描述的TextView ID。

SimpleAdapter mSchedule = new SimpleAdapter(getApplicationContext(), listItems, R.layout.itemlistviewselectform, new String[] {"name", "description"}, new int[] {R.id.lvftitle, R.id.lvfdesc});
lv.setAdapter(mSchedule);