在AppCompatCheckBox视图上没有调用onCheckedChanged

时间:2018-03-07 12:13:14

标签: android android-appcompat android-checkbox oncheckedchanged

我在代码中动态创建了一些自定义复选框视图。这些复选框继承自AppCompatCheckBox。

public class ChangeableSelectionParameterValueCheckbox extends android.support.v7.widget.AppCompatCheckBox

我在代码中添加了OnCheckChangedListener。 添加的OnCheckedChangeListener是android.widget.CompoundButton.OnCheckedChangeListener;

changeableSelectionParameterValueCheckbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                //on checked changed code here
            }
        });

问题:永远不会调用onCheckedChanged。自定义复选框似乎无法点击。

当我将自定义视图类更改为从android.widget.CheckBox继承时,一切正常。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并通过将属性“ clickable”设置为true解决了该问题。 它在代码和XML中均有效,因此请选择以下解决方案之一:

AppCompatCheckbox check;
check.setClickable(true);
<android.support.v7.widget.AppCompatCheckBox xmlns:android="http://schemas.android.com/apk/res/android"
                                             android:id="@+id/id_checkbox"
                                             android:layout_width="match_parent"
                                             android:layout_height="wrap_content"
                                             android:clickable="true"
                                             android:gravity="center_vertical"/>