我是 Java/Android 编程新手,不幸的是我不完全理解这段代码背后的逻辑:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});
我已经阅读了大量有关它的教程,但不幸的是,到目前为止,没有人对代码进行详细解释。也许是因为它太基础了,每个优秀的面向对象程序员都会立即理解该结构的原因。
我想知道为什么需要使用new View.OnClickListener()
作为参数?对于 setOnClickListener
方法。换句话说,为什么不类似
button.setOnClickListener(
public void onClick(View v) {
// Perform action on click
});
这个作品?
此外,我不太确定为什么 onClick
方法需要 View v
参数。
我非常感谢您的帮助,因为我目前很困惑。
最佳答案
View.OnClickListener
是一个当你想要处理点击事件时需要实现的接口(interface)。在您的代码中,您可以通过执行 new View.OnClickListener()
来实现这一点。在这里,您实际上创建了一个实现 View.OnClickListener 的匿名类。任何实现 View.OnClickListener 的类还必须实现其中声明的所有方法(例如 onClick 方法)。另外,在 public void onClick(View v) {..}
中,
View v
表示单击的 View 或按钮,以便您可以使用它执行任何您想要的操作。例如,获取它的 id、更改它的颜色等。
关于java - Android- setOnClickListener 背后的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30827663/