Androidアプリ開発者のためのTips集。今回は、ユーザーからの操作を受け付けるシンプルな方法の1つ、“ボタン入力”について。基本的なボタン入力の処理とその実装方法、ボタン以外の画面部品によるクリック処理についても紹介する。
用途 | 基本 |
---|---|
カテゴリ | 画面制御 |
レベル | 初級 |
動作確認環境 | Android 2.3.3(GingerBread) エミュレータにて動作確認 |
備考 | 今回のTipsは上記環境で動作確認・検証を行っています |
ユーザーからの操作を受け付けるシンプルな方法の1つとして、「ボタン入力」がある。画面に配置したボタンにクリック時の処理を登録しておくことで、ボタン入力に対応した処理を実行させることが可能だ。
Viewクラスの以下のメソッドを使用して、ボタンクリック時の処理を登録する。
void setOnClickListener(OnClickListener l)
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”が表示される。
ボタン以外の画面部品でも、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);
≫連載「Androidアプリケーション開発者のためのTips集」の目次
Copyright © ITmedia, Inc. All Rights Reserved.