View.OnClickListener()函数或接口 [英] View.OnClickListener() a function or Interface
问题描述
是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屋!