Android 无法获取使用setOnCheckedChange(onCheckedChange)的交换机侦听器
我的开关按钮侦听器无法正常工作。我的主要活动是:Android 无法获取使用setOnCheckedChange(onCheckedChange)的交换机侦听器,android,Android,我的开关按钮侦听器无法正常工作。我的主要活动是: public class MainActivity extends WearableActivity { private Switch mySwitch; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.l
public class MainActivity extends WearableActivity {
private Switch mySwitch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Enables Always-on
setAmbientEnabled();
// React to settings change
mySwitch= findViewById(R.id.mySwitch);
mySwitch.setOnCheckedChangeListener(this); // <--------
}
public void onCheckedChange(CompoundButton s, boolean isChecked) {
...
}
}
公共类MainActivity扩展了WearableActivity{
专用交换机;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//启用“始终打开”
setAmbientEnabled();
//对设置更改作出反应
mySwitch=findviewbyd(R.id.mySwitch);
mySwitch.setoncheckedchangedlistener(this);//如果要使用this
作为setoncheckedchangedlistener()的选项,则需要实现oncheckedchangedlistener
这是因为setOnCheckedChangeListener()
只接受OnCheckedChangeListener
的一个实例,所以不能简单地使用This
,因为This
指向的活动不是OnCheckedChangeListener
的实例
但是,由于oncheckedchangedlistener
是一个接口,通过实现oncheckedchangedlistener
可以很容易地纠正这一问题。由于继承在Java中的工作方式,一旦接口实现,Activity就会自动成为oncheckedchangedlistener
的实例
看起来这是您想要的选项,因为您还重写了onCheckedChange()
活动中的方法。Override
符号在哪里?您的可穿戴活动是否实现了CompoundButton.OnCheckedChangeListener?哦,这是Android Studio的第二个建议…我现在觉得很愚蠢!嗨,Maxim,如果@jackey的答案解决了您的问题,您可能希望将其标记为已接受,以便他能得到自己的答案这是一种表达谢意的好方式,也是人们继续帮助他人的良好激励。@FrancislainyCampos是的,我不得不等几分钟才接受,后来我忘了。
public class MainActivity extends WearableActivity implements CompoundButton.OnCheckedChangeListener{