在android中实现关键字

在Android中我看到这样的代码:

public class Now extends Activity implements View.OnClickListener 

这在java中是否合法? 究竟是什么View.OnClickListener在这里代表。

OnClickListener是用于接收单击事件的接口。 您需要覆盖onClick()方法并实现自己的代码来处理它。 http://developer.android.com/reference/android/view/View.OnClickListener.html

您可以在此处View类结构: http : //developer.android.com/reference/android/view/View.html#nestedclasses

并在此处浏览实现: http : //grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.1_r2/android/view/View.java

您可能想要阅读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

问题似乎是关于View.x的使用。 正如@Vicente_Plata很好地把它放在评论中:

OnClickListener是在View类中声明的接口。 就像一个“内部阶级”,而是一个“内部界面”


老答案:


View.OnclickListener是一个界面 。 它定义了您的活动必须实现的方法,在本例中为OnClickListener() 。 任何检查的人都想知道你的class级中是否有这样的function,所以他们可以使用Now作为OnclickListener

接口不提供实现。

另外,从这个页面

实现接口允许类对其承诺提供的行为变得更加正式。 接口在类和外部世界之间形成契约,并且该合同在构建时由编译器强制执行。 如果您的类声称实现了一个接口,那么在该类成功编译之前,该接口定义的所有方法必须出现在其源代码中。

正如其他人已经指出的那样, implements View.OnClickListener指定您的类实现View.OnClickListener接口中定义的方法。 如果点符号让您感到不舒服,可以显式导入界面:

 import android.view.View.OnClickListener; public class Now extends Activity implements OnClickListener // ...