1

我开发了一个多项选择列表视图(初学者),我的问题是如何在选中复选框时进行 if 语句或切换到该位置。

我一直在网上寻找,我找到了一些例子,但不是我要找的。

例如这段代码:

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();
        }});

什么是将所有选中的复选框从多项选择中放入一个数组中。我的问题是我如何识别它是什么,以及检查是否做某事。

4

1 回答 1

3

好的,如果我理解,您应该使用以下代码:

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
        }//...
    }
}); 
于 2013-05-28T15:21:59.617 回答