Android Button事件与布局的冲突

我想给一个Button添加点击事件,但我又不想用匿名内部类的方式,因为这样会破坏整体结构,所以我想单位去继承button类。

如下:

class MyButton extends Button{
public void setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
//。。。。。
}
}
}

那么这样,我能不能在布局文件中来定义我扩展的MyButton类的相关属性?

也就是在Activity中依然用findViewById的方式来优雅的创建Button。

谢谢。

给button添加点击事件也不一定非得用内部类吧,让你的类实现onclicklistener接口,然后override onclick方法就好了,跟你类中的其他方法的形式一样。如果你要自己写一个类继承button而且想在xml中定义相关属性,这种方式是可行的,但是类中必须要实现带attribute参数的构造方法。