当前位置: 首页 > 面试题库 >

View.OnClickListener()函数或接口

徐秋月
2023-03-14
问题内容

View.OnClickListener()是函数还是接口?当我们尝试在android中设置onclicklistener()方法时,我们使用了新的View.OnClickListener(),据我所知,它会在此处引起我的困扰,

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

所以有人可以告诉我我们为什么这样做:

  • 新的View.OnClickListener(),用于使用onclick()方法?
  • 如果View.OnClickListener是接口,我们为什么要使用()?

感谢您的回复..


问题答案:

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

要在视图上设置点击监听器,您需要传递一个 实例来
实现OnClickListerner接口: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);


 类似资料:
  • 我想定义一些东西,最好在Python中调用“函数扩展”/“函数接口”或“函数类”。我还没有在其他语言中见过类似的构造,但我不擅长LISP之类的函数式语言。如果这更容易做到,考虑以后改用其他语言,比如Julia。 “函数扩展”将是一种形式化的方式来表示绑定函数的几个参数,我们最终得到一个属于特定“函数类”的函数。在我下面的示例中,特定的“函数类”是一个数据转换函数(如),它只有一个参数:扩展了作为绑

  • 问题内容: 抱歉,如果这个问题很愚蠢,但是我无法用Java语法来解决问题。. 我了解了C / C ++,我知道View是一个很好的类。.但是我不明白View.OnClickListener()是否是方法。 我怀疑它是否会返回对象? 我认为View是一个具有静态OnClickListener成员对象的类。同样,这对我来说没有意义。. 有人可以解释这段代码在做什么吗? 那么这段代码是怎么回事? 是对x

  • 过程和函数是模式对象,包含一组保存在服务器上的 SQL 语句。在主窗口中,点击 “函数”来打开函数的对象列表。 函数向导 在对象工具栏点击 “新建函数”。“函数向导”会弹出,让你简易地创建过程或函数。 指定常式的“名” 并选择常式的类型:“过程”或“函数”。 定义参数。在相应的列中设置“名”、“类型模式”、“类型”、“默认值”、“输出”或/和“只读”。 如果你是创建一个函数,从列表中选择“函数类型

  • 过程或函数是模式对象,包含一组保存在服务器上的 SQL 语句。PostgreSQL 11 或以上支持过程。在主窗口中,点击 “函数”来打开函数的对象列表。 函数向导 在对象工具栏点击 “新建函数”。“函数向导”会弹出,让你简易地创建函数。 选择例程的类型:“过程”或“函数”。 定义参数。在相应的列中设置“模式”、“类型模式”、“类型”、“名”和“默认值”。 如果你是创建一个函数,从列表中选择“模式

  • 过程和函数是模式对象,包含一组保存在服务器上的 SQL 语句。在主窗口中,点击 “函数”来打开函数的对象列表。 函数向导 在对象工具栏点击 “新建函数”。“函数向导”会弹出,让你简易地创建过程或函数。 指定例程的“名” 并选择例程的类型:“过程”或“函数”。 定义参数。在相应的列中设置“名”、“类型”、“模式”和“默认值”。 如果你是创建一个函数,从列表中选择“返回类型”。 【提示】一旦取消勾选“

  • 过程和函数(存储例程)由 MySQL 5.0 开始支持。存储例程是一组保存在服务器上的 SQL 语句。在主窗口中,点击 “函数”来打开函数的对象列表。 函数向导 在对象工具栏点击 “新建函数”。“函数向导”会弹出,让你简易地创建过程或函数。 选择常式的类型:“过程”或“函数”。 定义参数。在相应的列中设置“模式”、“名”和/或“类型”。 如果你是创建一个函数,从列表中选择“返回类型”,并输入相应的