2011年8月21日日曜日

AndroidでLayoutからイベントリスナの設定方法の要点だけ


どうやら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 件のコメント:

コメントを投稿