前提・実現したいこと
AndroidStudioでKotlinのアプリ開発演習をしています。
「CREATE」ボタンを押すたびに、「ITEM」ボタンが増えるアプリを作りたいです。
###発生している問題
「CREATE」ボタンを一度押すと、想定通り「ITEM」ボタンが1個でてくるのですが、2度目にはアプリが強制終了してしまいます。
強制終了せずに、「ITEM」ボタンを増やすためにはどのように修正すれば良いでしょうか?
発生している問題・エラーメッセージ
アプリの強制終了
該当のソースコード
MainActivity.kt
package com.example.tempapplicarion import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.LinearLayout class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val layout = findViewById<LinearLayout>(R.id.linear) val create = findViewById<Button>(R.id.Create) val button = Button(this) button.text = "ITEM" create.setOnClickListener { layout.addView(button) } } }
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <Button android:id="@+id/Create" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Create" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> <LinearLayout android:id="@+id/linear" android:layout_width="0dp" android:layout_height="0dp" android:layout_marginStart="1dp" android:layout_marginEnd="1dp" android:orientation="vertical" app:layout_constraintBottom_toTopOf="@+id/Create" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"></LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout>
試したこと
本文はこちらを参考にしました。
https://qiita.com/shun-shun123/items/7fab7ad3c6b040803f52
補足情報(FW/ツールのバージョンなど)
AndroidStudio3.6.3
Kotlin1.3.71
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/06 12:24