【Android Studio】ボタンのクリックイベントの書き方 – Kotlin編

Sara

この記事では、ボタンをタップしたら処理を実行する「クリックイベントの書き方」を紹介します。

  1. シンプルな書き方
  2. インタフェースを実装する書き方

Javaのコードはこちら

準備

開発環境

Android StudioGiraffe | 2022.3.1
Android EmulatorNexus 4(API 34)
compileSdk / targetSdk33
minSdk19

サンプルアプリの用意

Sample という名前のプロジェクトを作成して、以下のファイルがあることを前提に進めていきます。

  • activity_main.xml
  • MainActivity.kt

activity_main.xml にはボタンを3つ用意して、それぞれのボタンをタップしたら Snackbar を表示するコードを書いていきます。

【アプリ画面】

方法1:シンプルな書き方

書き方はとても簡単で次のように書きます。

ボタン.setOnClickListener {
    // 実行するコード
}

ボタンが1つの場合

まずは「ボタン1」にクリックイベントを実装してみます。

MainActivity.kt に6~8行目のコードを追加・変更します。

アプリを実行してみましょう。

「ボタン1」をタップすると画面下部に Snackbar が表示されます。

ボタンが複数ある場合

ボタンが複数ある場合も同じように書きます。

アプリを実行して、タップしたボタンによってメッセージが変わっているか確認しましょう。

方法2:インタフェースを実装する書き方

次は View.OnClickListener インタフェースを実装する方法です。

複数のボタンがあって実行する処理が似ている時に便利な書き方です。

ボタンが1つの場合

まずは「ボタン1」にクリックイベントを実装してみます。

MainActivity.kt に1・6・9~11行目のコードを追加・変更します。

ここでは

  1. インタフェースを実装(1行目)
  2. ボタンにクリックリスナーをセット(6行目)
  3. onClick メソッドを用意(9~11行目)

を行なっています。

View.OnClickListener インタフェースを実装したら、onClick メソッドを追加する必要があります。

またボタンとクリックリスナーを紐づけるための6行目のコードを忘れないようにしましょう。

アプリを実行してみましょう。

「ボタン1」をタップすると画面下部に Snackbar が表示されます。

ボタンが複数ある場合

ボタンが複数ある場合は「どのボタンが押されたのか」を判定する必要があります。

btn2, btn3 にも同じようにクリックリスナーをセットして、onClick メソッドを書き換えます。

「どのボタンが押されたのか」は押されたボタンの ID を使って判定します。

押されたボタンの ID は v.id で取得できます。

アプリを実行して、タップしたボタンによってメッセージが変わっているか確認しましょう。

まとめ

クリックイベントの書き方
  1. シンプルな書き方
  2. OnClickListener を実装する書き方

どちらを使えば良いか迷うかもしれませんが、私の場合は以下を目安にしています。

「絶対にこれを使う!」というのはないので、参考にしてみてください。 

  • ボタンが1つで実行するコードが少ない → 方法 ①
  • ボタンが複数で実行するコードが似ている → 方法 ②
  • 実行するコードが多く、実行内容も異なる → 方法 ① か ②で、ボタンごとにメソッドを用意して呼び出す
Subscribe
Notify of
0 Comments
古い順
新しい順 人気順
Inline Feedbacks
View all comments
ABOUT ME
Sara
Sara
運営者
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
主な使用言語:Java / Kotlin / PHP
>> 詳しいプロフィール
>> お問い合わせ
>> 書籍を出版しました!
本格的に学びたい方へ

Code for Fun プログラミング講座

POINT 01

動くコード

プログラミングの文法を学んでも、そこからどのようにアプリ開発ができるのかイメージが湧きにくいものです。

Code for Fun のプログラミング講座では、ゲームやカレンダーなどアプリとして機能するものを作りながらプログラミングを学ぶことができます。

POINT 02

自分のペースで

オンライン講座なので、ご自身のペースで学習を進めて頂けます。

受講期限もないので、いつでも前のレッスンに戻ることができるので安心です。

お申し込みしたその日からすぐに始めることができます。

POINT 03

個別サポート

プログラミング学習では、エラーが起きることはよくあります。そんな時はお気軽にお問い合わせください!

コメント欄またはメールによるサポートを回数無制限でご利用頂けます。(*講座に関連するご質問のみ対応)

今すぐ無料でお試し

0
この記事にコメントするx
記事URLをコピーしました