対象読者
- アンドロイドアプリ開発初心者
レイアウト画面から登録する方法
-
対象の画面のレイアウトファイルを開く
-
(ボタンだけ適当に配置してください)
-
ボタンを選択する
-
Attributesの欄のCommon AttributeからonClickプロパティに任意の関数名を登録する。
-
ビルドしてボタンを押下すると、定義した関数が呼ばれる。
コードだけでやる方法
- ボタンを選択する
- レイアウトでAttributesの欄からボタンにIdを振る
- Codeからボタンが押されたら教えてくれるように設定する
package com.example.hello import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Button import android.widget.TextView import java.util.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // ボタンをIDで特定する var btnCurrent = findViewById<Button>(R.id.btnCurrent) // 押されたら関数が実行されるように設定する btnCurrent.setOnClickListener( object: View.OnClickListener { // 実行される関数 override fun onClick(v: View?) { // やりたいことをここでやるよ! } } ) } }
- ボタンを押下すると登録したリスナーが反応して関数が実行される
まとめ
実際には、下の方法で実装されることが多いため、下の方法を利用することをお勧めします。
尚、下記の方法のようにイベントに応じて実行すべき処理を記述するプログラミングモデルをイベントドリブンモデルと呼ぶそうです。
また、イベントが発生したタイミングで実行すべき処理をイベントハンドラーと言うようです。
参考書籍
- TECHNICAL MASTER はじめてのAndroidアプリ開発 Kotlin編 (TECHNICAL MASTER 98) chapter2