Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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 切换按钮setOnClickListener无法解析_Android_Onclick_Android Studio_Listener_Onclicklistener - Fatal编程技术网

Android 切换按钮setOnClickListener无法解析

Android 切换按钮setOnClickListener无法解析,android,onclick,android-studio,listener,onclicklistener,Android,Onclick,Android Studio,Listener,Onclicklistener,我是android编程新手,我从开发者网站上了解到如何正确实现这一点。然而,当我复制并粘贴到android studio时,它无法解析setOnClickListener、setOnCheckedChangeListener和buttonView 这是我第一次在安卓系统中使用切换按钮和按钮,我在这里做了大量的搜索,然后我停下来问这个问题。这是MainInterface之外的一个单独的button类。我需要扩展或实现任何特殊的内容还是导入任何内容 import android.content.C

我是android编程新手,我从开发者网站上了解到如何正确实现这一点。然而,当我复制并粘贴到android studio时,它无法解析setOnClickListener、setOnCheckedChangeListener和buttonView

这是我第一次在安卓系统中使用切换按钮和按钮,我在这里做了大量的搜索,然后我停下来问这个问题。这是MainInterface之外的一个单独的button类。我需要扩展或实现任何特殊的内容还是导入任何内容

 import android.content.Context;
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.view.View;
 import android.widget.CompoundButton;
 import android.widget.ToggleButton;        

 public class Button extends MainInterface {

    ToggleButton toggle = (ToggleButton) findViewById(R.id.BeaconButton);
    toggle.setOnClickListener(new CompoundButton.OnCheckedChangeListener());
    toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked) {
                // The toggle is enabled
            } else {
                // The toggle is disabled
            }
        }
    });
}
另外,上面的代码和下面的代码有什么区别。以下代码是否适用于设置侦听器

public void onToggleClicked(View view) {
    // Is the toggle on?
    boolean on = ((ToggleButton) view).isChecked();
    if (on) {
        // do something
        }

    } else {
        // set as it was
    }
}

setOnClickListener
不接受
CompoundButton.OnCheckedChangeListener()
作为侦听器,因此会给您带来编译时错误

setOnClickListener的方法签名

setOnClickListener(View.OnClickListener l)
解决方案:

使用默认的
View.OnClickListener
listener在
ToggleButton

 toggle.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

            }
        });
使用这个方法

this.someToggleButton = (ToggleButton)findViewById(R.id.someToggleButton) ;

    this.someToggleButton.setOnCheckedChangeListener( new OnCheckedChangeListener() 
    {
        @Override
        public void onCheckedChanged(CompoundButton toggleButton, boolean isChecked) 
        {
            doSomethingWith(toggleButton, isChecked) ;
        }
    }) ;

@castaway2000确保您导入了这个
import android.view.view.OnClickListener
@castaway2000取决于你在做什么onClick意味着当你点击你的Toogle按钮时你现在为
setOnCheckedChangeListener
做一些动作是当你选中或取消选中你的
Toogle按钮时
`ToggleButtong=(ToggleButton)findViewById(R.id.BeaconButton);toggle.OnClickListener(new View.OnClickListener(){@Override public void onClick(View v){}}`在这两个“View v”中,toggle.OnClickListener无法解析,并且不允许@Overide,因为不允许使用批注。您有什么建议?我可以使用我提供的底部代码作为替代吗?导入android.view.view.OnClickListener;andoird studio告诉我它未使用且不可用needed@castaway2000你确定??更改此
toggle.OnClickListener
asd.setOnClickListener
我认为您必须使用活动而不是主界面这是一个比网站更好的描述。感谢您帮助我澄清这一点。