ボタンを設ける

Hello World をベースに進める。


アナログ時計と同じ要領でボタンを追加する。


ボタンの表面に表示するテキストを文字列リソースに定義する。
Button01 の名前なので、button01_name とでも名付けておく。
ボタンのリソースのプロパティで Text に @string/button01_name と入力しておく。
Textプロパティをクリックすると右端に [...] ボタンが出てくるので、ここをクリック
すれば、定義済みの文字列リソースから選択できる。


Activity の onCreate() メソッドの中で、Button01 のクリックイベントを受け取るリスナー
を指定する。

Button Button01 = (Button) findViewById( R.id.Button01 );
Button01.setOnClickListener( Button01ClickListener );

findViewById() は、リソースから R.id.Button01 で示されるリソースを見つけてくる関数。
R.id.Button01 はボタンなので、Button にキャストして受け取る。
Button01.setOnClickListener() は、Button01 の onClick() イベントを受け取るリスナーをセットする関数。
Button01ClickListener は、これから作る。

※import は、自動的に追加されるらしい。
(android.widget.Button は記入したが、util.Log や widget.Toast は記入した覚えがない)

/** Button01 clicked event */
private View.OnClickListener Button01ClickListener = new View.OnClickListener() {

  @Override
  public void onClick(View v) {
    // TODO 自動生成されたメソッド・スタブ
    Toast.makeText( HelloWorldSampleActivity.this,
        "クリックされた!!", Toast.LENGTH_LONG ).show();
  } };
Button01ClickListener の定義。
private View.OnClickListener 型。

Toast.makeText() は、下の方にメッセージを表示する関数。
ちょっとした動作確認には便利。

これでコーディング完了。

実行結果。


ボタンをクリックすると・・・。

メッセージが表示される。

簡単だね。

■まとめ
・ボタンなどの sub activity に対するイベントを受けるには setXXXXListener() を使ってリスナーを登録する。
・リスナークラスのイベント処理関数にイベント処理の内容を記述する。
・sub activity の実体は findViewById() を使って取得する。
・Toast.makeText() はメッセージ表示に便利。

[ダウンロード]

以上。

[戻る]