SQLの窓

2015年04月19日


Android Studio でボタンをクリックして トースト(Toast) を表示する / onClick プロパティと Button へのイベント登録( Listener )

Android でボタンに対する処理を作成したい場合、Hello World! 的には Toast を表示するのが最もてっとり早く動作の確認をする事ができます。

Android Studio で大きなボタンを一つ作成

ボタンに対するイベントの登録方法は、一般的には Button(TextView) のメソッドを使って Listener を作成しますが、クリックだけに関して言うと、onClick プロパティを使用できます。

Android Studio でボタンをクリックして トースト(Toast) を表示する



public void メソッド(View view)

このような形式のメソッド( 本来の setOnClickListener 用 )を事前に作成しておくと、プロパティの設定でそのメソッドが表示されるので、選択するたけでコード作成が完了します。

▼ CTRL + O で既存のコードを利用する

setContentView のブロックが作成されるので、clickButton に変更して中身を作成します。

以下は具体的なコードです
	public void clickButton(View view) {
		Toast toast;
		toast = Toast.makeText(
				MainActivity.this,
				"こんにちは",
				Toast.LENGTH_LONG
		);
		toast.show();
		Log.i("lightbox", "こんにちは");

	}

その他のイベントに対しては、以下のようにして Listener を作成します

setOnLongClickListener( 長押し )
		// ボタン
		Button button;
		// 作成したボタンより ID でインスタンスをセット
		button = (Button)MainActivity.this.findViewById(R.id.button);

		// 長押し用のイベントを作成
		button.setOnLongClickListener(new View.OnLongClickListener() {
			@Override
			public boolean onLongClick(View v) {
				Log.i("lightbox", "長押し");
				return false;
			}

		});


setOnTouchListener( タッチのダウンとアップ )

上のコードで定義した button に対して新たに setOnTouchListener を実行します
		// タッチ用のイベントを作成
		button.setOnTouchListener(new View.OnTouchListener() {
			@Override
			public boolean onTouch(View v, MotionEvent event) {
				int action = event.getAction();
				switch(action) {
					case MotionEvent.ACTION_DOWN:
						Log.i("lightbox", "ACTION_DOWN");
						break;
					case MotionEvent.ACTION_UP:
						Log.i("lightbox", "ACTION_UP");
						break;
				}

				return false;
			}

		});


logcat のフィルターを作成





▼ フィルタの名前を任意に変更


▼ タグでフィルタする






【Android Studio 1の最新記事】
posted by lightbox at 2015-04-19 17:00 | Android Studio 1 | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり