我的问题纯粹是一般性的。为什么 Java 强制您编写复杂的处理程序,这些处理程序需要附加到对象上以实现像单击这样的简单操作?
那么,为什么我需要写:
public class ClickMe implements OnClickListener {
void someMethod() {
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
....
}
}
而不是类似的东西
class myButton extends Button {
@override void onClick() {
// do something special
}
然后在我的布局上使用该按钮?
我确信这种设计是有充分理由的,只是我想不出它们!
最佳答案
我对你的意思有点困惑,但是将 onClickListeners 附加到按钮相当容易。
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Do stuff when clicked
}
});
或者您可以在 Activity 或 Fragment 中实现 View.OnClickListener
,并将 onClickListener
设置为 this
。
关于java - 一般为: why use click-handlers instead of subclassing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21498822/