首页 > 解决方案 > 未知属性 onItemSelected/onCheckedChanged

问题描述

我创建了 SwitchCompat 并添加了android:onCheckedChanged. 一切正常,但 Android Studio 将此属性标记为带有描述的警告。

未知属性 android:onCheckedChanged。

AppCompatSpinner 与android:onItemSelected.

为什么 Android Studio 显示此警告?我的 Android Studio 版本是 3.5.1

带有警告的屏幕截图

标签: androidxmlmvvmandroid-databinding

解决方案


那是因为 SwitchCompat 实际上没有这样的属性(见文档),所以你不能在 XML 中分配监听器。尝试实现 onClickListener 或在 XML 之外分配 OnCheckedChanged 侦听器,例如:

  final SwitchCompat switchButton = (SwitchCompat) view.findViewById(R.id.switch_button);
  switchButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
      //do stuff
    }
  });

编辑: 您还可以通过调用直接返回 SwitchButton 的 binding.switch_button 从 java 代码中的 dataBinding 对象获取切换按钮。


推荐阅读