2016-09-23 68 views
-3

我是一名android初學者,我有一些java知識,但我遇到了一些android代碼的麻煩。在Android中使用匿名類

在java中,我們可以使用匿名類來覆蓋接口的方法。

我遇到了以下情況。

MyButton.setOnClickListener(New Button.OnClickListener{ 
    @override 
    public void onClick(View view){ 
     //some code 
    } 
}); 

我習慣使用匿名類像這樣,

Interface myInterface = new Interface(){ 
} 

我不能找出只有新其次是接口名字的意思是,在方法內部。

+0

該方法接受一個實現OnClickListener接口的類。你會像平常一樣對待這個匿名類。 – Michael

+1

@Jhon的回答是正確的。我也會推薦這個關於匿名類的好書:https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html –

回答

2

這是一個沒有一個變量名

MyButton.setOnClickListener(new Button.OnClickListener{ 
    @override 
    public void onClick(View view){ 
     //some code 
    } 
}); 

一個匿名類是一樣的

Button.OnClickListener listener = new Button.OnClickListener{ 
    @override 
    public void onClick(View view){ 
     //some code 
    } 
}); 

MyButton.setOnClickListener(listener);