■ はじめに
イベント・ハンドルでもするかっと思ってみたりする。
■ ボタンのクリック・イベントを処理するには
色々な方法があるが、ここでは... * 追加したボタンに対して、setOnClickListener イベントを実装する
■ サンプル
例1:Hello world
activity_main.xml
* ボタン「button1」を「activity_main.xml」に追加する
MainActivity.㏏
import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.widget.Toast import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { private lateinit var realm: Realm override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // ★ここに注目★ button1.setOnClickListener { Toast.makeText(this, "クリックしました", Toast.LENGTH_SHORT).show() } } }
例2:掛け算クイズ
import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Toast import kotlinx.android.synthetic.main.activity_main.* import java.util.* class MainActivity : AppCompatActivity() { var answer = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) createQuestion() answerButton.setOnClickListener { val input = inputEditText.text.toString().toIntOrNull() val message = when(input) { null -> "Please input a number" answer -> "Bingo!" else -> "X" } Toast.makeText(this, message, Toast.LENGTH_SHORT).show() createQuestion() } } fun createQuestion() { inputEditText.text.clear() val random = Random() val num1 = random.nextInt(10) val num2 = random.nextInt(10) answer = num1 * num2 questionTextView.text = "$num1 x $num2 = ?" } }
参考文献
http://www.javadrive.jp/android/button/index4.html
http://d.hatena.ne.jp/jitsu102/20110831/1314796481
関連記事
画面遷移をするには
https://dk521123.hatenablog.com/entry/2013/09/26/010117
別画面への値の受け渡し
https://dk521123.hatenablog.com/entry/2013/09/27/230328
ダイアログ表示 ~ トースト / Toast ~
https://dk521123.hatenablog.com/entry/2013/10/14/002656
画面コンポーネント / Button
https://dk521123.hatenablog.com/entry/2020/08/08/000000