1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

【Android入門】ボタンの実装の仕方

Pocket

Androidアプリを構成するパーツにはいろいろなものがありますが、その中でも良く使われるのが「ボタン」です。以前の記事で画面のレイアウトを構成する方法を解説しました。しかし、ボタンはただ配置しただけでは押しても何も反応しません。レイアウトとして配置するだけでなくボタンを押したときの処理を実装しないといけません。

今回はボタンを実装する方法について解説します。

ボタンを配置する

まずはボタンを配置しましょう。今回の例では「activity_main.xml」にボタンを配置します。ボタンを配置するにはactivity_main.xmlを編集エリアに表示したあと、レイアウトの編集モードを「Design」にします。

左側のpaletteから「Button」を選択し、activity_main.xmlまでドラッグします。これでMainActivityにボタンが配置されます。

ボタンの処理を実装する

この状態で試しにアプリを起動してみると、ボタンが表示されます。しかしこのボタンは配置されているだけで「タップされた時にどう動けばいいか」は書かれていないのでタップしても何も起こりません。

ここではボタンの処理を実装します。例としてボタンをタップしたら「ボタンがタップされました」と画面に表示されるようにします。

イベントとイベントリスナー

何かしらの動作でアプリの状態が変化することを「イベント」と言います。「ボタンをタップした」というのもイベントの1つになります。また、イベントを受け取り何かしらの処理をするクラスを「イベントリスナー」と言います。

Androidアプリでアクティビティのイベントを処理するにはそのアクティビティにイベントリスナーとしての機能を持たせる必要があります。イベントリスナーの機能を持たせるには既に定義してある「イベントリスナーインターフェース」を実装します。

イベントリスナーインターフェースはいくつかありますが、ボタンの場合は「View.OnClickListener」を実装します。編集エリアにMainActivity.javaを表示させ、コードを以下のように変更します。

クラス定義の際にView.OnClickListnerを実装させます。なお、Viewはボタンやラベルなど、レイアウトを作成する際に使うパーツの総称です。

View.OnClickListnerの実装が出来たら、次は実装したイベントリスナーをボタンに登録します。イベントリスナーを登録するにはonCreateの中でsetOnClickLister()を使います。setContentViewのあとに以下のコードを追加してください。

findViewById()はアクティビティに設置しているパーツを取得するメソッドです。引数に取得したいパーツのIDを渡すことで取得できます。ボタンなどViewのIDは「R.id.渡したいパーツのID」という形式で渡します。今回はボタンのIDが「Button」なので「R.id.Button」を引数に渡します。

ボタンを取得したらsetOnClickListener()でボタンにイベントリスナーを登録します。なお、setOnClickListener()の引数にはOnClickListenerインターフェースを実装したクラスを入れます。この場合はこのクラス自体を入れるので「this」を入れます。

onClick()を実装する

setOnClickListenter()でボタンにイベントリスナーを登録したので、ボタンを押すことでonClick()というメソッドが呼ばれるようになりました。あとはonClick()の中身を実装するだけです。今回はボタンを押すと「ボタンがタップされました」と表示されるようにしたいので、以下のように実装します。

ToastはAndroid上にトーストという短いメッセージを表示させるものです。ボタンをクリックするとonClick()が呼ばれ、このトーストが画面に表示されます。

これまでのソースコードをまとめるとこのようになります。

実行結果はこのようになります。

【おすすめ記事】

Android(アンドロイド)アプリ開発を学べるスクール15選
Android(アンドロイド)アプリの本・参考書の評判
【Android入門】アプリ開発環境「Android Studio」のインストール方法
【Android入門】Android Studiodedeアプリの画面を作成しよう!

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

おすすめスクール

全国30校舎で展開されるヒューマンアカデミーのWeb講座は修了者数4万人超、講師とカリキュラムの満足度がどちらも9割を超えています。就職や転職に必要なレベルの実務スキルを身に付けられます。

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

2システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ
ページ上部へ戻る