【问题标题】:How Can i Store more Than One Fields in List View如何在列表视图中存储多个字段
【发布时间】:2012-10-18 12:12:30
【问题描述】:

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

  1. 按下添加按钮时,我想将这 3 个字段值存储到我的列表视图中。
  2. 按删除我想从列表视图中删除这三个字段。
  3. 按下保存时,我想将列表视图中的整个数据保存到我的本地数据库中。

请告诉我如何创建一个列表视图来存储 3 个值。是否可以为列表视图创建标题?

【问题讨论】:

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


    【解决方案1】:

    可以简单地为您的列表视图创建一个标题

    list.addHeaderView(headerView)
    

    但 ListView 是一个非常复杂的视图,因此如果您只有几个元素(例如 3 个),建议动态添加视图(请参阅Google IO presentation last minutes)

    希望对你有帮助:)

    【讨论】:

      【解决方案2】:

      您可以在每个项目中创建一个包含 3 个子视图的列表视图。为此:

      1. 为要在项目中显示的 3 个对象创建一个类(一个容器)
      2. 保留您希望在列表视图中显示的对象的列表/数组
      3. 实现你自己的Adapter
      4. 使用存储对象的数组/列表创建适配器
      5. 覆盖适配器的 getView: 方法 - 为要显示的 3 个值扩展视图(可能包含 3 个子视图)

      当您触摸“添加”时,为 3 个值创建一个对象并将其添加到对象数组中。您必须处理适配器的项目更新。

      【讨论】:

      • 看起来很复杂 :)...是否有任何示例教程或参考链接可用..??
      • 我认为 google 的第一个结果(对于“android listview 自定义适配器”)ezzylearning.com/tutorial.aspx?tid=1763429 看起来不错。
      【解决方案3】:

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

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

      listItems 你的数据,在我的例子中是一个 HashMap 的 ArrayList,有两个键:名称和描述。

      第 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);
      

      【讨论】:

        猜你喜欢
        • 2015-07-20
        • 1970-01-01
        • 2017-08-21
        • 2020-02-07
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多