2013-05-28 79 views
1

我開發了一個多選列表視圖(初學者),我的問題是我如何能做一個if語句或切換到複選框時檢查的位置。得到的值多項選擇listview android

我一直在尋找互聯網,我發現了一些例子,但不是我在找什麼。

例如下面的代碼:

public void onClick(View v) { 
      // TODO Auto-generated method stub 
      String selected = ""; 

      int cntChoice = myList.getCount(); 
      SparseBooleanArray sparseBooleanArray 
           = myList.getCheckedItemPositions(); 

      for(int i = 0; i < cntChoice; i++){ 

       if(sparseBooleanArray.get(i)) { 
        selected += myList.getItemAtPosition(i).toString() + "\n"; 
       } 
      } 
      Toast.makeText(AndroidListViewActivity.this, 
        selected, 
        Toast.LENGTH_LONG).show(); 
     }}); 

什麼是採取所有選中複選框從選擇題然後放入到一個數組。我的問題是我如何能夠確定它是哪一個,取決於哪一個檢查是否做某件事。

回答

2

確定的,如果我明白了,你應該使用此代碼:

btnInstall.setOnClickListener(new OnClickListener() { 
    public void onClick(View arg0) { 
     String selected = ""; 
     int cntChoice = lvCheckBox.getCount(); 
     SparseBooleanArray sparseBooleanArray = lvCheckBox.getCheckedItemPositions(); 
     for(int i = 0; i < cntChoice; i++){ 
      if(sparseBooleanArray.get(i)) { 
        executeActionBySelectedItem(lvCheckBox.getItemAtPosition(i).toString()); 
      } 
     } 

    } 

    private void executeActionBySelectedItem(String selectedItem) { 
     if(selectedItem.equals("Action 1")) { 
      //execute action 1 
     } else if(selectedItem.equals("Action 2")) { 
      //execute action 2 
     } else if(selectedItem.equals("Action 3")) { 
      //execute action 3 
     }//... 
    } 
}); 
+0

謝謝,這幫助! – ruben