请问下在bn1.setOnClickListener(new OnClickListener())这里是不是只能传这个参数啊 能new其他东西吗

2025-04-19 08:53:50
推荐回答(2个)
回答1:

原型:public void setOnClickListener(OnClickListener l) {}

//import android.view.View.OnClickListener(这个包下)
//public interface OnClickListener(是接口)
当然你可以写个类实现OnClickListener
比如:
class MyDialog implements OnClickListener{
public void onClick(View v) {
}
}

///////////////////////////////////////////////////////
bn4.setOnClickListener(myDialogOnClick);
OnClickListener myDialogOnClick = new MyDialog() {
@Override
public void onClick(View v) {
//to do
}
};

回答2:

最新的SDK是这样使用的:btn.setOnClickListener(new View.OnClickListener()),我之前也遇到过类似的问题,java编译总是出错,在OnClickListener前面加上View.就解决了。