Android 切换按钮setOnClickListener无法解析
我是android编程新手,我从开发者网站上了解到如何正确实现这一点。然而,当我复制并粘贴到android studio时,它无法解析setOnClickListener、setOnCheckedChangeListener和buttonView 这是我第一次在安卓系统中使用切换按钮和按钮,我在这里做了大量的搜索,然后我停下来问这个问题。这是MainInterface之外的一个单独的button类。我需要扩展或实现任何特殊的内容还是导入任何内容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
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
我认为您必须使用活动而不是主界面这是一个比网站更好的描述。感谢您帮助我澄清这一点。