为什么checkbox.IsChecked()不返回已检查状态

时间:2015-12-10 11:34:54

标签: android checkbox android-listview

关于isChecked()无法在android中工作的大量问题,我已经接受了为了获得checkbox的检查状态,你需要添加一个监听器。但我只是想知道是否有人知道它为什么不能正常工作,这是一个错误吗?我是否误解了所需的功能?

这里有一些代码供你参考。

            View itemView = adapter.getView(i, null, autoDiscoverListView);

            CheckBox selected = (CheckBox)itemView.findViewById(R.id.cbEnabled);

            if(selected.isChecked()){
                ...
            }

以下是getView中与复选框

相关的代码
        CheckBox cbEnabled = (CheckBox) convertView.findViewById(R.id.cbEnabled);
        cbEnabled.setChecked(item.getEnabled());

        cbEnabled.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            public void onCheckedChanged(CompoundButton compoundButton, boolean enabled) {
                ...
        }});

3 个答案:

答案 0 :(得分:0)

我认为你在代码中犯了一些错误,请尝试如下,

public void itemClicked(View v) {
        //code to check if this checkbox is checked!
        CheckBox checkBox = (CheckBox)v;
        if(checkBox.isChecked()){

        }
    }

答案 1 :(得分:0)

你必须使用like。

//返回此视图的启用状态。 selected.isPressed() //如果启用此视图,则返回True,否则返回false。

//指示视图当前是否处于按下状态。 MyAppName[931:60b] ERROR whitelist rejection: url='https://login.myurlapi.com/apitest/validate.php' //如果启用此视图,则返回True,否则返回false。

答案 2 :(得分:0)

我知道方法isChecked()正常工作。我怀疑你没有得到正确的观点。现在,我只有一个建议,因为我不太清楚你的代码。

View itemView = adapter.getView(i, null, convertView);

注意:设置侦听器时,此代码引用View对象convertView。至少convertView适用于听众。