在Android中,我看到的代码如下:
public class Now extends Activity implements View.OnClickListener
这在java中是否合法?究竟是什么View.OnClickListener在这里代表。
答案 0 :(得分:4)
问题似乎是关于View.x
的使用。正如@Vicente_Plata很好地把它放在评论中:
OnClickListener是一个接口 在View类中声明。喜欢 一个“内在阶级”,而不是一个 “内部界面
<小时/> 老答案:
OnClickListener()
。任何检查的人都想知道您班级中是否有这样的功能,因此他们可以将Now
用作OnclickListener
。
接口不提供实现。
此外,来自this page
实现接口允许 上课要变得更正式了 它承诺提供的行为。 接口形成了一个契约 阶级和外部世界,这个 合同在构建时强制执行 编译器。如果你的班级声称 实现一个接口,所有方法 必须出现由该接口定义的 在课前的源代码中 将成功编译。
答案 1 :(得分:1)
OnClickListener
是用于接收点击事件的界面。您需要覆盖onClick()
方法并实现自己的代码来处理它。 http://developer.android.com/reference/android/view/View.OnClickListener.html
您可以在此处查看View
课程结构:http://developer.android.com/reference/android/view/View.html#nestedclasses
您可能需要阅读Android开发指南(特别是处理UI事件的主题):http://developer.android.com/guide/topics/ui/ui-events.html
以下两个是等效的:
import android.view.View;
public class Now extends ActivityGroup implements OnClickListener {
import android.view.*;
public class Now extends ActivityGroup implements View.OnClickListener {
澄清后不需要以下内容
也许是Oracle的java界面教程:
http://download.oracle.com/javase/tutorial/java/concepts/interface.html
http://download.oracle.com/javase/tutorial/java/IandI/createinterface.html
答案 2 :(得分:0)
正如其他人已经指出的那样,implements View.OnClickListener
指定您的类实现View.OnClickListener
接口中定义的方法。如果点符号让您感到不舒服,可以明确导入界面:
import android.view.View.OnClickListener;
public class Now extends Activity implements OnClickListener
// ...