質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

2347閲覧

Android(Kotolin)複数の値を別のアクティビティに送りたい

Kiokiokio

総合スコア6

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2020/04/02 08:48

Android(Kotlin)でintentを使って複数の値を別のアクティビティに送りたい

ここに質問の内容を詳しく書いてください。
AndroidStudio(Kotolin)でアプリを簡単なゲームアプリ作っています。
その中でintent,putExtra,getExtraを用いメニュー画面からメインのアクティビティへ4つの値を送りたいです。どなたかお力をお貸しいただけると幸いです。

発生している問題

textViewで値が綿ているか確認したところすべて、同じ値になってしまいます
例 1:1:1:1

メニューアクティビティのソースコード

kotlin

1const val EXTRA_VALUE1="com.exapmple.MyApplication.SETTING" 2const val EXTRA_VALUE2="com.exapmple.MyApplication.SETTING" 3const val EXTRA_VALUE3="com.exapmple.MyApplication.SETTING" 4const val EXTRA_VALUE4="com.exapmple.MyApplication.SETTING" 5 6class MenuActivity : AppCompatActivity() { 7 8 override fun onCreate(savedInstanceState: Bundle?) { 9 super.onCreate(savedInstanceState) 10 setContentView(com.example.bowlingo.R.layout.activity_menu) 11 12 var value1 = 0 13 var value2 = 1 14 var value3 = 1 15 16 val switch1: Switch = findViewById(R.id.switch1) 17 switch1.setOnCheckedChangeListener { _, isChecked -> 18 if (isChecked) 19 value1 = 1 20 } 21 val switch2: Switch = findViewById(R.id.switch2) 22 switch2.setOnCheckedChangeListener { _, isChecked -> 23 if (isChecked) 24 value2 = 0 25 } 26 val switch3: Switch = findViewById(R.id.switch3) 27 switch3.setOnCheckedChangeListener { _, isChecked -> 28 if (isChecked) 29 value3 = 0 30 } 31 32 val numPicker = findViewById<NumberPicker>(R.id.numPicker) 33 numPicker.wrapSelectorWheel = false 34 val values = arrayOf("3", "5", "7") 35 numPicker.minValue = 0 36 numPicker.maxValue = values.size-1 37 numPicker.displayedValues = values 38 val vlue4= numPicker.value 39 40 val start: Button = findViewById(R.id.start) 41 start.setOnClickListener { // Handler code here. 42 val intent = Intent(this@MenuActivity, MainActivity::class.java).apply { 43 putExtra(EXTRA_VALUE1, value1) 44 putExtra(EXTRA_VALUE2, value2) 45 putExtra(EXTRA_VALUE3, value3) 46 putExtra(EXTRA_VALUE4, value4) 47 } 48 startActivity(intent); 49 } 50 } 51} 52

メインアクティビティ

class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val value1 = intent.getIntExtra(EXTRA_VALUE1,0) val value2 = intent.getIntExtra(EXTRA_VALUE2,0) val value3 = intent.getIntExtra(EXTRA_VALUE3,0) val value4 = intent.getIntExtra(EXTRA_VALUE4,0) val textView = findViewById<TextView>(R.id.textView).apply { text = value1.toString() +":" + value2.toString() +":" + value3.toString()+ ":" + value4.toString() } }

試したこと

putExtraの箇所を直接以下のように記入しても、全て同じ値(1:1:1:1)になりました。

putExtra(EXTRA_VALUE1, 1) putExtra(EXTRA_VALUE2, 0) putExtra(EXTRA_VALUE3, 0) putExtra(EXTRA_VALUE4, 0)

補足情報(FW/ツールのバージョンなど)

Androidxを使用しております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

const val EXTRA_VALUE1="com.exapmple.MyApplication.SETTING" const val EXTRA_VALUE2="com.exapmple.MyApplication.SETTING" const val EXTRA_VALUE3="com.exapmple.MyApplication.SETTING" const val EXTRA_VALUE4="com.exapmple.MyApplication.SETTING"

全部同じ名前になっています.
それぞれ違う名前にしなければ意味がありません.

投稿2020/04/02 11:44

jimbe

総合スコア12648

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kiokiokio

2020/04/02 12:21

ありがとうございます。 完全に見落としていました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問