View.OnClickListener()函数或接口 [英] View.OnClickListener() a function or Interface

查看:180
本文介绍了View.OnClickListener()函数或接口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是View.OnClickListener()函数还是接口?当我们尝试在android中设置一个onclicklistener()方法时,我们使用新的View.OnClickListener(),并且根据我所知,它会在我的错误中,

Is View.OnClickListener() a function or interface? When we try to set a onclicklistener() method in android, we use new View.OnClickListener() and it bugs me there cuz as far as I know,


  • 我们不需要初始化包含静态方法的类的对象,以便使用这些方法。为什么我们这样做?

  • 当我们使用implements以实现接口时,我们不调用接口的静态方法。

所以有人可以告诉我为什么我们这样做:

So can some one tell me why do we do:


  • new View.OnClickListener() ,用于使用onclick()方法?

  • 为什么我们在View.OnClickListener中使用(),如果它是一个接口?

感谢您的回复..

推荐答案

我不知道我明白你在写什么关于静态方法。 View.OnClickListener是一个界面: http://developer.android.com/参考/ android / view / View.OnClickListener.html

I'm not sure I understand what you are writing about static methods. View.OnClickListener is an interface: http://developer.android.com/reference/android/view/View.OnClickListener.html

要在视图上设置点击监听器,您传递一个实例实现OnClickListerner界面: http:/ /developer.android.com/reference/android/view/View.html#setOnClickListener(android.view.View.OnClickListener)

To set a click listener on a view, you pass an instance implementing the OnClickListerner interface: http://developer.android.com/reference/android/view/View.html#setOnClickListener(android.view.View.OnClickListener)

最常见的方式在android中做这个是定义一个匿名内部类( http://实现OnClickListener的docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html ),如

The most common way to do this in android is to define an anonymous inner class (http://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html) that implements OnClickListener like

myView.setOnClickListener(new View.OnClickListener() {
    @Override           
    public void onClick(View v) {
        // Handle view click here           
    }
});

上面的代码定义了一个匿名内部类,并创建了一个实例。它相当于首先定义一个实现View.OnClickListener的类(如果在同一个类中定义)

The code above both defines an anonymous inner class and creates an instance of it. It is equivalent to first defining a class implementing View.OnClickListener (if defined in the same class)

class MyOnClickListener implements View.OnClickListener {
    @Override           
    public void onClick(View v) {
        // Handle view click here           
    }
}

然后使用此

MyOnClickListener listener = new MyOnClickListener();
myView.setOnClickListener(listener);

这篇关于View.OnClickListener()函数或接口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆