我正在使用带有效率适配器的listview。
在我的高效适配器中,我初始化和arraylist
public static ArrayList<String> stringPosition = new ArrayList<String>();
并使用arraylist中的位置为1和2来填充它。
stringPosition.add(position);
然后在onintemclicklister的listview活动中,我检查存储的值是否与位置匹配。但是当我点击arraylist中的多个存储值时。我只得到了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;
}
我怎样才能解决这个问题,并且它是比较listrows的某些元素是否与列表位置相同的最佳方式。 ?
答案 0 :(得分:2)
我不能再编辑我的评论......
CHOICE_MODE_MULTIPLE
使用
SparseBooleanArray sba = listView.getCheckedItemPositions();
CHOICE_MODE_SINGLE
使用int pos = listView.getSelectedItemPosition();
您可以稍后从适配器中获取所有这些位置。