Android Studio: ボタンクリック

こちらで行っていることと同じことを、ファイル編集で行いました。
[Android StudioとKotlinでボタンを押すとテキストが変わる簡単なアプリをつくってみるよ](https://liginc.co.jp/489910)

Ubuntu 23.04 にインストールした Android Studio Giraffe | 2022.3.1 で確認しました。

## 編集したのは次の3つのファイルです。

```text
activity_main.xml
strings.xml
MainActivity.kt
```

## プロジェクトの作成
Empty Views Activity を選びました。

## 編集

activity_main.xml
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/eb8159e8-d654-23a9-11ba-6420fc117e07.png)

```xml:activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/text_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="64dp"
        android:layout_marginEnd="32dp"
        android:text="@string/text_message"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button_cat"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginBottom="64dp"
        android:text="@string/button_text_cat"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

    <Button
        android:id="@+id/button_dog"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="32dp"
        android:layout_marginBottom="64dp"
        android:text="@string/button_text_dog"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>
```

strings.xml
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/2d818f56-d5a8-623d-8ecb-4b88d2f5fee4.png)

```xml:values/strings.xml
<resources>
    <string name="app_name">grimm01</string>
    <string name="text_message">どちらですか</string>
    <string name="text_message_cat">にゃにゃ</string>
    <string name="text_message_dog">わんわん</string>
    <string name="button_text_cat">猫</string>
    <string name="button_text_dog">犬</string>
</resources>
```

MainActivity.kt
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/64b7cc05-90b1-24f4-81d3-d8ddbd790365.png)

```kotlin:MainActivity.kt
package com.example.grimm01

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        var textMessage = findViewById<TextView>(R.id.text_message)

        var buttonCat = findViewById<Button>(R.id.button_cat)
        var buttonDog = findViewById<Button>(R.id.button_dog)

        buttonCat.setOnClickListener{
            textMessage.setText(R.string.text_message_cat)
        }

        buttonDog.setOnClickListener {
            textMessage.setText(R.string.text_message_dog)
        }
    }
}
```

## 実行: Run
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/e63cf420-eaf0-a26e-5300-1d235aee9006.png)