zcweng / SwitchButton

SwitchButton.An beautiful+lightweight+custom-style-easy switch widget for Android,minSdkVersion >= 11
https://github.com/zcweng/SwitchButton
MIT License
2.67k stars 415 forks source link

Cannot find the setter for attribute 'android:onCheckedChanged' with parameter type com.suke.widget.SwitchButton.OnCheckedChangeListener on com.suke.widget.SwitchButton #35

Open arifbd opened 5 years ago

arifbd commented 5 years ago

on Layout:

<layout>
   <data>
        <variable
            name="mySwitch"
            type="com.suke.widget.SwitchButton.OnCheckedChangeListener" />

        <variable
            name="viewModel"
            type="mypackage.MyViewModel" />
    </data>
    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <com.suke.widget.SwitchButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:checked="@{viewModel.isChecked}"
                android:onCheckedChanged="@{mySwitch}" />
    </LinearLayout>
</layout>

on Activity:

MyActivity implements SwitchButton.OnCheckedChangeListener {
        ....
        binding.setOrphanSwitch(this);
        ....
       @Override
       public void onCheckedChanged(SwitchButton view, boolean isChecked) {
              Logger.v(isChecked+"");
        }
   ...
}

Error: Found data binding errors. / data binding error msg:Cannot find the setter for attribute 'android:onCheckedChanged' with parameter type com.suke.widget.SwitchButton.OnCheckedChangeListener on com.suke.widget.SwitchButton. file:C:...\my_fragment.xml loc:132:44 - 132:55 \ data binding error