0

我正在使用带有 effientadapter 的列表视图。

在我的高效适配器中,我初始化了数组列表

public static ArrayList<String> stringPosition = new ArrayList<String>();

并使用 arraylist 中的位置为 1 和 2 填充它。

stringPosition.add(position);

然后在 onintemclicklister 的列表视图活动中,我检查存储的值是否与位置匹配。但是当我单击 arraylist 中的多个存储值时。我只得到数组列表中的最后一项。我怎样才能

将字符串与 arraylist 中的值进行比较并检查是否匹配。

for (int i=0;i<EfficientAdapter.stringPosition.size();i++){

        String x = EfficientAdapter.stringPosition.get(i).toString();
        System.out.println("x: " +x);

        if (x.equals(String.valueOf(position)))
            DetailWork.GREEN_OR_BLUE=1;

        else
            DetailWork.GREEN_OR_BLUE=0;

    }

我该如何解决这个问题,如果列表行的某些元素与列表位置相同,这是比较的最佳方法。?

4

1 回答 1

2

我不能再编辑我的评论了...

CHOICE_MODE_MULTIPLE使用
SparseBooleanArray sba = listView.getCheckedItemPositions();

CHOICE_MODE_SINGLE使用int pos = listView.getSelectedItemPosition();

您可以稍后从适配器中获取所有这些位置。

于 2013-07-11T10:48:19.937 回答