可能性の重複:
Difference between OnClick() event and OnClickListener?ボタンをクリックしてリスナー
私はAndroidの開発に半新たなんだと私が最初に始めたとき、私はどんなことで、XMLレイアウトを使用しないようにしようとしました私の以前のプロジェクトの中には、明示的にOnClickListenerを作成し、それを匿名の内部クラスとして実装するボタンを必要とするものがいくつかあります。など -
final Button button = new Button(this);
button.setText("Click to change second line of text");
OnClickListener buttonListener = new View.OnClickListener() {
boolean clicked = false;
int numClicks = 0;
@Override
public void onClick(View v) {
if(numClicks > 5) {
button.setText("STOP IT");
}
numClicks++;
if(clicked == false){
clicked = true;
tv2.setText("Text Changed on Button Click");
}
else
{
clicked = false;
tv2.setText("Click again");
}
}
};
button.setOnClickListener(buttonListener);
しかし、私はアンドロイドに詳しくなったとして、私は、XMLレイアウトの価値を理解し始めたとドイトが定義されたレイアウトXMLでは、この
<Button
android:id="@+id/button1"
android:layout_height = "wrap_content"
android:layout_width ="wrap_content"
android:text = "lets do this"
android:onClick = "DoIt"
/>
のようなボタンを実装Javaで。
私の質問は、これら2つの方法は機能的に同じですか? OnClickListenerは、舞台裏でコンパイラによって定義されていますか?一方的なやり方でトレードオフする機能はありますか?
を処理する継承されたメソッド
onClick()
を追加する必要がOnClickListenerを実装する場合、変数Button button1;
は、あなたのonCreate()
にこれを追加追加しているのはここに有用な議論であります](http://stackoverflow.com/a/7453469/1154026)私はあなたの質問に役立つと思う。 – VicVu
クリックリスナを設定するには、3つの方法があります。1.各要素のクリックリスナを個別に設定する。アクティビティでOnClickListenerを実装する。 3.ボタンクリックを処理するための別の関数を作成し、この関数をxmlに追加します。これらの例はここにありますhttp://wiki.workassis.com/android-three-ways-to-set-click-listener/ –