2016-09-23 4 views
-3

私はアンドロイドの初心者ですが、私はいくつかのJavaの知識がありますが、いくつかのアンドロイドコードに問題があります。Androidでの匿名クラスの操作

Javaでは、匿名クラスを使用してインタフェースのメソッドをオーバーライドできます。

私は次のような状況に遭遇しました。

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

私はそうのような匿名クラスを使用するために使用された、

Interface myInterface = new Interface(){ 
} 

は、私はちょうどのみ新しいインターフェイス名はメソッドの内部、意味が続くかを把握することはできません。

+0

方法と同じであるOnClickListenerインターフェースを実装するクラスを受け付けます。匿名のクラスは、通常と同じように扱います。 – Michael

+1

@Jon答えは正しいです。また、匿名クラスについてのこの素晴らしい記事もお勧めします。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);