gpt4 book ai didi

java - View.OnClickListener() 函数或接口(interface)

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:14:57 26 4
gpt4 key购买 nike

View.OnClickListener() 是函数还是接口(interface)?当我们尝试在 android 中设置 onclicklistener() 方法时,我们使用了新的 View.OnClickListener() 并且据我所知,它让我感到困惑,因为,

  • 我们不需要初始化包含静态方法的类的对象来使用这些方法。我们为什么这样做?
  • 当我们使用 implements 来实现接口(interface)时,我们不会调用接口(interface)的静态方法。

有人能告诉我我们为什么这样做吗:

  • 新的 View.OnClickListener(),用于使用 onclick() 方法?
  • 如果它是一个接口(interface),为什么我们将 () 与 View.OnClickListener 一起使用?

感谢您的回复..

最佳答案

我不确定我是否理解您所写的有关静态方法的内容。 View.OnClickListener 是一个接口(interface):http://developer.android.com/reference/android/view/View.OnClickListener.html

要在 View 上设置点击监听器,您需要传递一个实现 OnClickListerner 接口(interface)的实例:http://developer.android.com/reference/android/view/View.html#setOnClickListener(android.view.View.OnClickListener)

在 android 中最常见的方法是定义一个匿名内部类 ( http://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html ),它实现了 OnClickListener,例如

myView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Handle view click here
}
});

上面的代码既定义了一个匿名内部类又创建了它的一个实例。相当于先定义一个实现View.OnClickListener的类(如果定义在同一个类中)

class MyOnClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
// Handle view click here
}
}

然后用这个

MyOnClickListener listener = new MyOnClickListener();
myView.setOnClickListener(listener);

关于java - View.OnClickListener() 函数或接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11815101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com