列表视图中选中的项目带复选框

时间:2013-02-26 05:53:17

标签: android listview onitemclicklistener

我如何通过复选框获取列表视图中的选定项目,我搜索了一个答案,但没有什么是足够明显的让我站在

这是我的列表视图

public void laptopTab() {
        List<String> listDisplay = new ArrayList<String>();
        for (int counter = 0 ; counter<laptopFilter.length;counter ++) {
            listDisplay.add(laptopFilter[counter]);
        }
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.filter_listview, 
                R.id.filter_name,listDisplay);

        laptopLV = (ListView) findViewById(R.id.laptopLV);
        laptopLV .setAdapter(adapter);
        laptopLV.setOnItemClickListener(this);
    }

这是我的onItemClickListener

的代码
public void onItemClick(AdapterView<?> arg0, View v, int position ,
            long id) {
        // TODO Auto-generated method stub
        if (v != null) {
            cb = (CheckBox)v.findViewById( R.id.cb ); 
            cb.setChecked(!cb.isChecked());
        }
        switch (th.getCurrentTab()) {
        case 0:
            if(cb.isChecked()){
                th.getTabWidget().getChildTabViewAt(1).setEnabled(false);
                th.getTabWidget().getChildTabViewAt(2).setEnabled(false);
                selectedFromLaptopList.add(laptopLV.getItemAtPosition(position).toString());
            }

            else {
                th.getTabWidget().getChildTabViewAt(1).setEnabled(true);
                th.getTabWidget().getChildTabViewAt(2).setEnabled(true);
            }
            break;
        case 1:
            if(cb.isChecked()){
                th.getTabWidget().getChildTabViewAt(0).setEnabled(false);
                th.getTabWidget().getChildTabViewAt(2).setEnabled(false);
                selectedFromMp3List.add(mp3LV.getItemAtPosition(position).toString());
            } else {
                th.getTabWidget().getChildTabViewAt(0).setEnabled(true);
                th.getTabWidget().getChildTabViewAt(2).setEnabled(true);
            }
            break;
        case 2:
            if(cb.isChecked()){
                th.getTabWidget().getChildTabViewAt(0).setEnabled(false);
                th.getTabWidget().getChildTabViewAt(1).setEnabled(false);
                selectedFromMobileList.add(mobileLV.getItemAtPosition(position).toString());
            } else {
                th.getTabWidget().getChildTabViewAt(0).setEnabled(true);
                th.getTabWidget().getChildTabViewAt(1).setEnabled(true);
            }
        default:
            break;
        }
    }

我在tabhost中有一个listview所以我只需要在当前选项卡上选中一个复选框时禁用其他选项卡

我有一个按钮。我想知道列表视图中选择的所有项目

请帮助我,并提前致谢

1 个答案:

答案 0 :(得分:2)

您是否可以使用android listactivity onCheckedChangeListener链接中的代码或答案提及,并使用mListview.getCheckedItemPositions()