0

正如问题所暗示的那样,是否可以使用字符串 id 或类似于 id 的东西来识别 listView 的元素?我知道典型的签名是

public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {...}

但我需要有字符串 id 之类的。我该怎么做?

详细说明(如果仍不清楚,请见谅)

问题是我的底层列表是一个旋转列表(即循环列表)

myList.addFirst(myList.deleteLast());

所以一个项目的 id/index 实际上一直在浮动。但是我需要一个本质上是元素一部分的 id,这样无论旋转如何,我总能准确地检索到我想要的元素。

4

3 回答 3

0

您可以为您的列表视图创建一个字符串 ID 数组。在 onItemClick 中,您可以使用位置来评估您的字符串数组。由于列表项和您的字符串大小相同,因此它应该具有一对一的映射。

我希望你明白我的意思。。

于 2013-08-16T01:38:36.210 回答
0

如果您想要一个字符串行 ID,请获取该位置,然后将其转换为字符串。

于 2013-08-16T01:52:38.410 回答
0

创建一个字符串数组列表。在其中添加 listview 的字符串 id。

在您的列表项中添加一个隐藏的文本视图。

将数组列表中的所有字符串 id 添加到您的列表视图隐藏文本视图。

访问字符串 id 如下:

public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
    TextView anyId = (TextView) view.findViewById(R.id.anyID);
    String val_Id = anyId.getText().toString();

使用 ArrayList 可以处理动态列表视图。

于 2013-08-16T02:27:59.557 回答