ボタン入力の処理Androidアプリケーション開発者のためのTips集(2)

Androidアプリ開発者のためのTips集。今回は、ユーザーからの操作を受け付けるシンプルな方法の1つ、“ボタン入力”について。基本的なボタン入力の処理とその実装方法、ボタン以外の画面部品によるクリック処理についても紹介する。

» 2011年12月20日 00時00分 公開
Android Tips

Tips概要と動作検証環境

用途 基本
カテゴリ 画面制御
レベル 初級
動作確認環境 Android 2.3.3(GingerBread) エミュレータにて動作確認
備考 今回のTipsは上記環境で動作確認・検証を行っています


Tips 2:ボタン入力の処理

 ユーザーからの操作を受け付けるシンプルな方法の1つとして、「ボタン入力」がある。画面に配置したボタンにクリック時の処理を登録しておくことで、ボタン入力に対応した処理を実行させることが可能だ。

実装方法

 Viewクラスの以下のメソッドを使用して、ボタンクリック時の処理を登録する。

クリック時の処理登録:

    void setOnClickListener(OnClickListener l)


クリック時処理定義用 interface:

    View.OnClickListener


例:

    // 画面に配置したボタンを取得
    Button btn = (Button) findViewById(R.id.button1);
 
    // ボタンにクリック時の処理を登録する
    btn.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(ButtonTestActivity.this, "!!! on Click !!!", Toast.LENGTH_SHORT).show();
        }
    } );


 View.OnClickListener#onClick()メソッドに、ボタンクリック時に実行したい任意の処理を記述する。ボタンが押されるとonClick()が呼び出され、処理が実行される。上記の例では、ボタンをクリックすると“Toast”が表示される。

実行例 画像1 実行例(ボタンをクリックするとToastが表示される)

その他の画面部品のクリック

 ボタン以外の画面部品でも、View.OnClickListenerを登録することでクリック操作を受け付けることができる。

 textViewやImageView、LinearLayoutなど、android.Viewクラスのサブクラスであるほとんど全ての画面部品に対して、View.OnClickListenerを登録できる。

ボタン以外の部品のクリックを処理する例:

    // ボタン、TextView、ImageView を取得
    Button btn = (Button) findViewById(R.id.button1);
    TextView txt = (TextView) findViewById(R.id.textview1);
    ImageView img = (ImageView) findViewById(R.id.imageview1);
 
    // クリック時の処理を定義
    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String viewName = v.getClass().getName();
            Toast.makeText(ButtonTestActivity.this, "!!! on Click " + viewName + " !!!", Toast.LENGTH_LONG).show();
        }
    };
 
    // OnClickListener をビューに登録する
    btn.setOnClickListener(listener);
    txt.setOnClickListener(listener);
    img.setOnClickListener(listener);


実行例2 画像2 ボタンのクリックでToastを表示
実行例3 画像3 テキストのクリックでToastを表示
実行例4 画像4 イメージのクリックでToastを表示

≫連載「Androidアプリケーション開発者のためのTips集」の目次

Android コーナー

Androidコーナー ,/mn/subtop/features/android/
「Android(アンドロイド)」の組み込み機器への適用からアプリ開発、レポート、ニュースなどさまざまな技術情報・最新動向をお届けする!!

>>コーナーTOPはこちらから


Copyright © ITmedia, Inc. All Rights Reserved.