準備
(なし)
デザイン
1. main.xml にボタン (button1) を配置します。
2. main.xml にボタン (button2) を配置します。
サンプルコード (Java)
package com.test.test01;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Test01Activity extends Activity {
private Button b1;
private Button b2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
b1 = (Button)findViewById(R.id.button1);
b1.setOnClickListener(b1_listener);
b2 = (Button)findViewById(R.id.button2);
b2.setOnClickListener(b2_listener);
}
Button.OnClickListener b1_listener = new Button.OnClickListener() {
public void onClick(View view) {
AlertDialog.Builder ad = new AlertDialog.Builder(Test01Activity.this);
ad.setTitle("TEST01");
ad.setMessage("1 番目のボタンがクリックされました。");
ad.setPositiveButton("OK", null);
ad.show();
}
};
Button.OnClickListener b2_listener = new Button.OnClickListener() {
public void onClick(View view) {
AlertDialog.Builder ad = new AlertDialog.Builder(Test01Activity.this);
ad.setTitle("TEST01");
ad.setMessage("2 番目のボタンがクリックされました。");
ad.setPositiveButton("OK", null);
ad.show();
}
};
}
解説
イベント・リスナーを使用して複数のボタンを扱っています。ひとつの Activity 内に配置できる OnClick イベントは一つのため、各ボタン用のリスナーオブジェクトを作成して、その中に OnClick イベントを作成しています。
AlertDialog.Builder の引数は、Activity 自体なので、this だけを指定すると、イベント・リスナーを指定することになりますので、Test01Activity.this のように指定しています。
この場合、Test01Activity クラスではイベント・リスナーは扱わないため、implements OnClickListener によるイベント・リスナーの実装は不要です。


