【问题标题】:How to pass along an identifier with an item in ListView?如何将标识符与 ListView 中的项目一起传递?
【发布时间】:2011-03-15 16:14:05
【问题描述】:

我有一个 ListView,其中包含来自 DB 表 EMPLOYEE 的 EMPLOYEE_NAME。有些员工可能有相同的名字,这意味着我可能在 ListView 中有重复的项目。

识别用户选择的项目(员工)的最佳解决方案是什么?我知道事件 onItemClick 返回与所选项目关联的视图,并执行 ((TextView) view).getText() 获取员工姓名。

但是将行 ID 与员工姓名一起传递的解决方案是什么?我应该扩展 TextView 以包含行 id 吗?

【问题讨论】:

    标签: android database listview android-listview identifier


    【解决方案1】:

    onItemClick 包含一个名为 id 的长参数,这是您想要使用的:

    onItemClick(AdapterView<?> parent, View view, int position, long id)
    

    所以,如果您使用的是 CursorAdapter,您唯一需要做的就是确保数据库中的 ID 行名为 _id

    如果您使用其他类型的适配器,例如 BaseAdapter,您必须覆盖 getItemId 方法,您将在该方法中返回员工的 ID。

    【讨论】:

    • 哦,这就是 BaseAdapter.getItemId() 的用途。碰巧我已经构建了一个自定义适配器。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多