使用simple_list_item_checked,无论我在哪里点击它都会被检查

时间:2017-04-07 14:12:11

标签: android listview checkbox

我希望能够点击列表中的每个项目,然后转到另一个活动(我知道该怎么做)

当我点击(完全在复选框上)时,应该点击它,因为现在,无论我点击项目行,都会点击复选框。

一旦我点击任何一个复选框,我也想要得到一个计数,因为我想放一个进度条,以显示我的学生在应用程序中的书中走了多远,

String[] items = getResources().getStringArray(R.array.chapters);
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this,android.R.layout.simple_list_item_checked,android.R.id.text1, items);
ListView lv = (ListView) findViewById(R.id.listView);
lv.setAdapter(adapter);

lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener(){
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,
                            long id) {
        CheckedTextView check = (CheckedTextView)view;
        check.setChecked(!check.isChecked());
    }
});

3 个答案:

答案 0 :(得分:0)

您现在正在检查listView项目上的复选框,如果您想在复选框上单击,则应该创建自定义适配器而不是使用默认适配器。

答案 1 :(得分:0)

尝试在列表或列表项的单独视图中添加复选框。对于前者如果您有RelativeLayout,那么您可以将复选框添加到列表视图的左侧,这样您的复选框就会在点击列表项时被点击。

答案 2 :(得分:0)

所以我想只有点击它才能点击它,

所以我会尝试按照你的建议制作单独的复选框,

任何关于如何获取所有复选框值(计数)的代码构思,以便我可以制作g