前提・実現したいこと
遷移した第2画面のボタンタップイベントを「第1画面のTextViewの空文字に文字列を代入して表示し、第1画面にもどる」にしたいです。
発生している問題・エラーメッセージ
コードを記述して実行したところ、エラーはなかったです。しかし、第2画面のボタンをタップすると、画面が一度黒色になり、第1画面に戻ります。この時第1画面のTextViewは何も表示されませんでした。
該当のソースコード
kotlin
1第1画面のアクティビティファイル 2package com.example.a 3 4import android.content.Intent 5import androidx.appcompat.app.AppCompatActivity 6import android.os.Bundle 7import android.view.View 8import android.widget.Button 9import android.widget.TextView 10 11class MainActivity : AppCompatActivity() { 12 13 override fun onCreate(savedInstanceState: Bundle?) { 14 super.onCreate(savedInstanceState) 15 setContentView(R.layout.activity_main) 16 17 //第1画面のボタンを取得し、リスナー登録 18 val button1 = findViewById<Button>(R.id.button1) 19 button1.setOnClickListener(Button1Listener()) 20 } 21 22 private inner class Button1Listener() : View.OnClickListener { 23 override fun onClick(v: View?) { 24 val intent = Intent(applicationContext, MainActivity2::class.java) 25 startActivity(intent) 26 } 27 } 28}
kotlin
1第2画面のアクティビティファイル 2 3package com.example.a 4 5import androidx.appcompat.app.AppCompatActivity 6import android.os.Bundle 7import android.view.View 8import android.widget.Button 9import android.widget.TextView 10 11class MainActivity2 : AppCompatActivity() { 12 13 override fun onCreate(savedInstanceState: Bundle?) { 14 super.onCreate(savedInstanceState) 15 setContentView(R.layout.activity_main2) 16 17 //第2画面のボタンを取得し、リスナー登録 18 val button2 = findViewById<Button>(R.id.button2) 19 button2.setOnClickListener(button2Listener()) 20 } 21 22 private inner class button2Listener() : View.OnClickListener { 23 override fun onClick(v: View?) { 24 //第一画面のTextView取得 25 val get_button1 = findViewById<TextView>(R.id.textview1) 26 //第一画面のTextViewに値を代入(これが問題だと思います、この一行を消すとボタンを押してもアプリは落ちません) 27 get_button1.setText("20") 28 finish() 29 } 30 } 31}
試したこと
・get_button1.setText("20")の1行を削除したところ、画面が黒くなることはありません。 しかし、これだと実現したい機能が搭載されません
・finish()を消しても上記の発生している問題と同様の結果になりました
・まだ試してないのですが、第2画面から第1画面に遷移させ、第1画面にデータを送り、第一画面のTextViewに代入できないかと考えましたが、実現可能でしょうか?
補足情報(FW/ツールのバージョンなど)
Android Studio 3.5.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/06 07:38