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.
組み込み開発の記事ランキング
コーナーリンク