为什么 onClick() 函数是抽象的?
Why is onClick() function abstract?
(使用 KOTLIN)
我对这个话题有点困惑。
当我在我的 class 中实现 View.OnClickListener 接口时,我调用了 'Testing',我收到以下消息:
Class 'Testing'不抽象,不实现抽象成员public abstract fun onClick(v:View!): Unit defined in android.view.View.OnClickListener.
我知道在我的 'Testing' class 中实现此功能 onClick(v: View!) 可以解决这个问题。但我的问题是:为什么消息说 onClick(v:View!) 是抽象的?
当我将此函数签入 'View' class 的 'OnClickListener' 时,我可以看到该函数不包含 abstract 我们可以在这段代码中看到的关键字:
/**
* 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 界面不会出现此错误消息。这是为什么?
为什么抽象?
接口中的所有方法都是抽象的,没有方法体(实现)。
为什么OnCreateContextMenuListener没问题。
你的测试class的超级class是什么?我认为超级 class(或任何祖先 class)必须实现 onCreateContextMenu 方法。
(使用 KOTLIN)
我对这个话题有点困惑。
当我在我的 class 中实现 View.OnClickListener 接口时,我调用了 'Testing',我收到以下消息:
Class 'Testing'不抽象,不实现抽象成员public abstract fun onClick(v:View!): Unit defined in android.view.View.OnClickListener.
我知道在我的 'Testing' class 中实现此功能 onClick(v: View!) 可以解决这个问题。但我的问题是:为什么消息说 onClick(v:View!) 是抽象的?
当我将此函数签入 'View' class 的 'OnClickListener' 时,我可以看到该函数不包含 abstract 我们可以在这段代码中看到的关键字:
/**
* 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 界面不会出现此错误消息。这是为什么?
为什么抽象?
接口中的所有方法都是抽象的,没有方法体(实现)。
为什么OnCreateContextMenuListener没问题。
你的测试class的超级class是什么?我认为超级 class(或任何祖先 class)必须实现 onCreateContextMenu 方法。