私はアンドロイドの開発に慣れていて、実世界の例ですべてのインターフェイスを使用するのは、インターフェイスの使い方を示すサンプルコードだけで使用するよりはるかに難しいことに気付きました。匿名クラスのsetOnClickListener?
私はこれで起動しますタイプごとに単一の行を理解したいと思いますので:最初の行は簡単ですが、私はXMLからそのIDに基づいて、ボタンオブジェクトにボタンを割り当てる
Button clearButton = (Button) findViewById(R.id.buttonClear);
clearButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
をが、リスナー私は理解していない、単純に私はclearButtonオブジェクトを取得し、そのメソッドの1つ、setOnClickListener
を使用して、引数で私はオーバーライドしたい動作を匿名クラスを渡しますが、View.OnClickListener()
はオブジェクトではありません?関数の中にクラスを書くのですか?
new View.OnClickListener() {
@Override
public void onClick(View v) {
}
これはインラインクラスを含むOnClickListener
のように見えますか?
[匿名クラスのJavaチュートリアル](https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html)を参照してください。 – SOFe
'View.OnClickListener()'はコンストラクタであり、匿名クラスを呼び出しています。 – 4castle
と私はコンストラクタ内に新しいクラスを渡していますか? –