在android中实现关键字

时间:2011-04-24 06:22:28

标签: java android

在Android中,我看到的代码如下:

public class Now extends Activity implements View.OnClickListener

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

3 个答案:

答案 0 :(得分:4)

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

  

OnClickListener是一个接口   在View类中声明。喜欢   一个“内在阶级”,而不是一个   “内部界面

<小时/> 老答案:
View.OnclickListener是界面。它定义了您的活动必须实现的方法,在本例中为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

在此处浏览实施: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

答案 2 :(得分:0)

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

import android.view.View.OnClickListener;

public class Now extends Activity implements OnClickListener
// ...