获取价值多选listview android

时间:2013-05-28 07:47:28

标签: android listview checkbox

我开发了一个多选列表视图(初学者),我的问题是我如何制作一个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();
        }});

从多项选择中选中所有选中的复选框,然后将其放入数组中。我的问题是我如何识别它是什么,并且取决于检查哪些是做某事。

1 个答案:

答案 0 :(得分: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
        }//...
    }
});