2013-07-11 254 views
0

我正在使用listview和effientadapter。将数组列表与字符串元素进行比较android

在我effiicient适配器我初始化和ArrayList

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; 

    } 

我怎么能解决这个问题,是不是比较,如果ListRows设为一些元素是相同的列表中的位置的最佳途径。 ?

+0

这是我第一次听到EfficientAdapter。它有什么作用? – Shark

+2

'listView.getSelectedItemPositions()' – Shark

+0

我必须纠正我以前的评论,getSelectedPositions不存在。我在回答中表示了赞赏。 – Shark

回答

2

我不能编辑我的意见了......

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

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

以后,您可以获取您适配器的所有这些位置。

相关问题