Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法获取使用setOnCheckedChange(onCheckedChange)的交换机侦听器_Android - Fatal编程技术网

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{