2013-07-11 303 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();

以後,您可以獲取您適配器的所有這些位置。

相關問題