2013-05-28 53 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