为什么onClick()函数是抽象的?

问题描述 投票:0回答:1

(与KOTLIN一起工作)

我对这个话题有点困惑。

当我实现 视图.OnClickListener 接口到我的类'Testing'中,我得到了下面的消息。

类'Testing'不是抽象的,没有实现抽象成员 public abstract fun onClick(v:View!)。在android.view.View.OnClickListener中定义的单元。

我知道可以通过实现这个函数来解决这个问题 onClick(v: View!) 到我的'测试'类中。但我的问题是:为什么消息说onClick(v:View!)是抽象的?

当我把这个函数检查到'View'类的'OnClickListener'中时,我可以看到这个函数没有包含 抽象 关键字,我们可以在这段代码中看到。

/**
 * Interface definition for a callback to be invoked when a view is clicked.
 */
public interface OnClickListener {
    /**
     * Called when a view has been clicked.
     *
     * @param v The view that was clicked.
     */
    void onClick(View v);
}

这个错误信息没有发生在 OnCreateContextMenuListener 接口,但。为什么会这样?

android interface onclick listener abstract
1个回答
0
投票
  1. 为什么是抽象的?

    一个接口中的所有方法都是抽象的,它们没有方法体(实现)。

  2. 为什么OnCreateContextMenuListener可以。

    你的Testing类的超级类是什么?我认为超级类(或任何祖先类)必须实现了onCreateContextMenu方法。

© www.soinside.com 2019 - 2024. All rights reserved.