どうやらAndroid 1.6かららしいんだけど、Layoutファイルにandroid:onClickというプロパティを指定することができます。例えばOK/Cancelボタンを配置した場合は、以下みたいなLayoutファイルになります。
<Button android:text="@string/label_button_cancel" android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/cancelButton"
android:onClick="onCancelClicked"/>
<Button android:text="@string/label_button_ok"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/OKButton"
android:onClick="onOKClicked"/>
こういう記述のあるlayout.xmlファイルをActivityの中でsetContentView()してやると、OKまたはCancelボタンをタップしたときに、そのActivityの中にあるandroid:onClickに指定した名前のメソッドを読んでくれます。listenerの設定とかが必要ないので、非常に便利。
メソッドのシグネチャは、public void aHandler(View v)なので、上記の例だとそれぞれ
public void onOKClicked(View v) {
Log.d("DEBUG", "ok clicked");
}
public void onCancelClicked(View v) {
Log.d("DEBUG", "cancel clicked");
}
みたいなメソッドだけを記述しておいてやればOK。
0 件のコメント:
コメントを投稿