Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果McClickListener是Android中的一个接口,我们如何基于它创建一个对象?_Android - Fatal编程技术网

如果McClickListener是Android中的一个接口,我们如何基于它创建一个对象?

如果McClickListener是Android中的一个接口,我们如何基于它创建一个对象?,android,Android,我使用的代码如下: 现在它说: 通过实现AdapterView.OnItemClickListener界面,您可以响应AdapterView中每个项目上的单击事件 如果OnItemClickListener()是一个接口,那么我们如何创建上面代码中的对象?这背后的概念是什么?我不太确定是否理解您的问题,但在您上面的示例中,mMessageClickedHandler是对象,该对象实现了OnItemClickListener.onItemClick方法。如果你来自C++世界,你需要实现一个 OnC

我使用的代码如下:

现在它说:

通过实现
AdapterView.OnItemClickListener
界面,您可以响应
AdapterView
中每个项目上的单击事件


如果
OnItemClickListener()
是一个接口,那么我们如何创建上面代码中的对象?这背后的概念是什么?

我不太确定是否理解您的问题,但在您上面的示例中,
mMessageClickedHandler
是对象,该对象实现了
OnItemClickListener.onItemClick
方法。如果你来自C++世界,你需要实现一个<代码> OnCLICKistList[< /Code >子类或类似的]作为一个单独的实体,但是在爪哇中,如上所述,可以在内联代码中创建一个匿名子类(我希望这是正确的指定!)。
我个人并不喜欢这种技术,但它是一种非常常见的Java习惯用法,我只是随波逐流

不能为接口创建对象。匿名内部类允许您执行以下操作:

public interface MyInterface {  
public void myMethod() ; 
}

MyInterface myIntfObj = new MyInterface() {  
    public void myMethod() {  

    }  
};  

myIntfObj.myMethod();  

您应该真正了解一下java编程语言。我认为这是一个令人满意的答案。。在这里,我们为接口创建了一个内部类(java中允许),这个类是作为一个匿名类创建的,所以基本上它是一个定义接口方法的新类..是的。。隐式实现该接口的“内部类”,为接口提供抽象定义……)
public interface MyInterface {  
public void myMethod() ; 
}

MyInterface myIntfObj = new MyInterface() {  
    public void myMethod() {  

    }  
};  

myIntfObj.myMethod();