Programming Style

メニュー

初心者がアプリ開発者になるためのプログラミング学習サイト

[Android] ボタンをクリックした時にトーストメッセージを表示する

android_android-button-click-toast-message_01

今回のレッスンでは、前回のレッスンで作った画面のボタンに対して、クリックした時にトーストメッセージが表示するように変更を行います。

 

広 告

 

目次

前提条件

動作確認端末

  • Google Nexus 5 – 5.0.0 – API21(エミュレータ)

1. ボタンクリックした時の実行されるメソッドを定義する

ボタンクリックした時にメソッド(処理)を実行させるためには、res/layout/activity_main.xml<Button>タグを以下のように変更します。

 

res/layout/activity_main.xml

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_send"
    android:onClick="sendMessage" />

android:onClick属性の”sendMessage”の値は、ボタンクリック時にシステムから呼ばれるActivity内のメソッド名になります。

 

Note : ここまでの状態でアプリを実行しボタンをクリックするとjava.lang.NoSuchMethodExceptionという例外が発生します。これはonClick属性で定義したメソッドがまだ実装されていないからです。

 

次にボタンクリック時に呼び出されるメソッドをMainActivity.java内に追加します。

 

java/com.mycompany.myapp/MainActivity.java

import android.view.View;
...
public void sendMessage(View view) {
    // ボタンクリック時に実行される
    // 引数のViewはクリックされたボタンのViewオブジェクト
}

ボタンクリック時に呼ばれるメソッドは、以下の条件を満たしていなければなりません。

 

  • publicメソッドであること
  • 戻り値の型はvoid型であること
  • 引数は1つで型はView型であること

ボタンクリック時に処理を実行させる方法については別の方法もあります。詳しい説明についてはこちらを参照してください。

 

2. トーストメッセージを表示するようにする

ボタンがクリックされた時に画面にトーストメッセージが表示されるように処理を定義します。トーストメッセージを表示させるために、以下の1行をsendMessage()メソッド内に追加します。

 

java/com.mycompany.myapp/MainActivity.java

import android.widget.Toast;
import android.view.View;
...
public void sendMessage(View view) {
    // ボタンクリック時に実行される
    // 引数のViewはクリックされたボタンのViewオブジェクト
    Toast.makeText(getApplicationContext(),"ボタンがクリックされました。", Toast.LENGTH_SHORT).show();
}

トーストメッセージの表示処理について詳しい説明はこちらを参照してください。

アプリを実行し、画面上のボタンをクリックしてみてください。すると以下のように画面上にトーストメッセージが表示されます。

 

android_android-button-click-toast-message_01

以上で完成です。次回のレッスンでは、テキストフィールドに入力された値をトーストメッセージに表示するように処理を変更します。

 

 

広 告