在android实现关键字



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

public class Now extends Activity implements View.OnClickListener

这在java中合法吗?View到底是什么?OnClickListener表示在这里。

问题似乎是关于View.x的使用。正如@Vicente_Plata在评论中说的那样:

OnClickListener是一个接口在View类中声明。就像一个"内部阶级",更确切地说,是一个"内部界面


旧的回答:
视图。OnclickListener是接口。它定义了您的活动必须实现的方法,在本例中是OnClickListener()。任何检查的人都想知道你的类中是否有这样的函数,所以他们可以使用Now作为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

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

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

最新更新