putExtraで値を渡す/取得する

実現したいこと

putExtraで値を渡して、grtExtraで値を取得してその値によって、画像を決定したいです。
ですが画像が変わらないです。

該当のソースコード

QuestionActivity

1package com.example.e_card 2 3import android.content.Intent 4import androidx.appcompat.app.AppCompatActivity 5import android.os.Bundle 6import android.widget.Button 7import android.widget.ImageButton 8 9class QuestionActivity_4 : AppCompatActivity() { 10 override fun onCreate(savedInstanceState: Bundle?) { 11 super.onCreate(savedInstanceState) 12 setContentView(R.layout.activity_question4) 13 14 // Viewの取得 15 val btn1_4: ImageButton = findViewById(R.id.btn1_4) 16 val btn2_4: ImageButton = findViewById(R.id.btn2_4) 17 val btn3_4: ImageButton = findViewById(R.id.btn3_4) 18 val btn4_4: ImageButton = findViewById(R.id.btn4_4) 19 val btnGroup1_4: Button = findViewById(R.id.btnGroup1_4) 20 val btnGroup2_4: Button = findViewById(R.id.btnGroup2_4) 21 val btnAnswer: Button = findViewById(R.id.btnAnswer) 22 23 //変数宣言 24 var answer1 = 0 25 var answer2 = 0 26 var answer3 = 0 27 var answer4 = 0 28 var kind = 0 29 var answer = 0 30 var badanswer = 0 31 var q_data = 0 32 33 34 //画像のシャッフル 35 val list1 = listOf(R.drawable.ichigo, R.drawable.enpitu, R.drawable.kesigomu, R.drawable.apple) 36 val r = list1.shuffled() 37 38 btn1_4.setImageResource(r[0]) 39 btn2_4.setImageResource(r[1]) 40 btn3_4.setImageResource(r[2]) 41 btn4_4.setImageResource(r[3]) 42 43 44 //画像ボタンを押した際の挙動(果物かそうでないかで格納する値を変更する) 45 btn1_4.setOnClickListener { 46 if ((r[0] == R.drawable.ichigo) or (r[0] == R.drawable.apple)) { 47 answer1 = 1 48 } else { 49 answer1 = 2 50 } 51 } 52 53 btn2_4.setOnClickListener { 54 if ((r[1] == R.drawable.ichigo) or (r[1] == R.drawable.apple)) { 55 answer2 = 1 56 } else { 57 answer2 = 2 58 } 59 } 60 61 btn3_4.setOnClickListener { 62 if ((r[2] == R.drawable.ichigo) or (r[2] == R.drawable.apple)) { 63 answer3 = 1 64 } else { 65 answer3 = 2 66 } 67 } 68 69 btn4_4.setOnClickListener { 70 if ((r[3] == R.drawable.ichigo) or (r[3] == R.drawable.apple)) { 71 answer4 = 1 72 } else { 73 answer4 = 2 74 } 75 } 76 77 78 // グループ1ボタンを押したとき 79 btnGroup1_4.setOnClickListener { 80 answer1 = 0 81 answer2 = 0 82 answer3 = 0 83 answer4 = 0 84 kind = 1 85 86 println("ans1 " + answer1) 87 println("ans2 " + answer2) 88 println("ans3 " + answer3) 89 println("ans4 " + answer4) 90 } 91 92 //グループ2ボタンを押したとき 93 btnGroup2_4.setOnClickListener { 94 answer1 = 0 95 answer2 = 0 96 answer3 = 0 97 answer4 = 0 98 kind = 2 99 100 println("ans1 " + answer1) 101 println("ans2 " + answer2) 102 println("ans3 " + answer3) 103 println("ans4 " + answer4) 104 } 105 106 //解答ボタンが押されたとき 107 btnAnswer.setOnClickListener { 108 println("ans1 " + answer1) 109 println("ans2 " + answer2) 110 println("ans3 " + answer3) 111 println("ans4 " + answer4) 112 113 //グループ1ボタンを押した際の判定 114 if (kind == 1) { 115 if (answer1 == 1) { 116 answer += 1 117 println("正解(果物)1") 118 } 119 120 if (answer1 == 2) { 121 badanswer += 1 122 } 123 124 if (answer2 == 1) { 125 answer += 1 126 println("正解(果物)2") 127 } 128 129 if (answer2 == 2) { 130 badanswer += 1 131 } 132 133 134 if (answer3 == 1) { 135 answer += 1 136 println("正解(果物)3") 137 } 138 139 if (answer3 == 2) { 140 badanswer += 1 141 } 142 143 if (answer4 == 1) { 144 answer += 1 145 println("正解(果物)4") 146 } 147 148 if (answer4 == 2) { 149 badanswer += 1 150 } 151 152 //グループ1に属する画像を2つ選び、それ以外の画像を1つも選んでいないときのみ正解画面へ 153 if (answer == 2 && badanswer == 0) { 154 q_data = 0 155 intent.putExtra("QUESTION_DATA" , q_data) 156 val intent = Intent(this, AnswerActivity_4::class.java) 157 startActivity(intent) 158 } else { 159 q_data = 1 160 intent.putExtra("QUESTION_DATA" , q_data) 161 val intent = Intent(this, AnswerActivity_4::class.java) 162 startActivity(intent) 163 } 164 } 165 166 //グループ2ボタンを押した際の判定 167 if (kind == 2) { 168 if (answer1 == 2) { 169 answer += 1 170 println("正解(文房具)1") 171 } 172 173 if (answer1 == 1) { 174 badanswer += 1 175 } 176 177 if (answer2 == 2) { 178 answer += 1 179 println("正解(文房具)2") 180 } 181 182 if (answer2 == 1) { 183 badanswer += 1 184 } 185 186 187 if (answer3 == 2) { 188 answer += 1 189 println("正解(文房具)3") 190 } 191 192 if (answer3 == 1) { 193 badanswer += 1 194 } 195 196 if (answer4 == 2) { 197 answer += 1 198 println("正解(文房具)4") 199 } 200 201 if (answer4 == 1) { 202 badanswer += 1 203 } 204 205 //グループ2属する画像を2つ選び、それ以外の画像を1つも選んでいないときのみ正解画面へ 206 if (answer == 2 && badanswer == 0) { 207 q_data = 0 208 intent.putExtra("QUESTION_DATA" , q_data) 209 val intent = Intent(this, AnswerActivity_4::class.java) 210 startActivity(intent) 211 } else { 212 q_data = 1 213 intent.putExtra("QUESTION_DATA" , q_data) 214 val intent = Intent(this, AnswerActivity_4::class.java) 215 startActivity(intent) 216 } 217 } 218 } 219 } 220}

AnswrActivity

1package com.example.e_card 2 3import android.content.Intent 4import androidx.appcompat.app.AppCompatActivity 5import android.os.Bundle 6import android.widget.Button 7import android.widget.ImageView 8 9class AnswerActivity_4 : AppCompatActivity() { 10 override fun onCreate(savedInstanceState: Bundle?) { 11 super.onCreate(savedInstanceState) 12 setContentView(R.layout.activity_answer4) 13 14 // Viewの取得 15 val btnMenu1_4 : Button =findViewById(R.id.btnMenu1_4) 16 val btnRetry1_4 : Button =findViewById(R.id.btnRetry1_4) 17 val btnNext1_4 : Button =findViewById(R.id.btnNext1_4) 18 var iv : ImageView = findViewById(R.id.iv) 19 20 //変数の宣言 21 var data = 0 22 23 //値の取得 24 val q_data = intent.getIntExtra("QUESTION_DATA", 0) 25 26 //正解画像と不正解画像の差し替え 27 if(q_data == 0){ 28 iv.setImageResource(R.drawable.maru) 29 } else { 30 iv.setImageResource(R.drawable.batu) 31 } 32 33 // ボタンを押したら次の画面へ 34 btnMenu1_4.setOnClickListener { 35 val intent = Intent(this,MainActivity::class.java) 36 startActivity(intent) 37 } 38 39 btnRetry1_4.setOnClickListener { 40 val intent = Intent(this,QuestionActivity_4::class.java) 41 startActivity(intent) 42 } 43 44 btnNext1_4.setOnClickListener { 45 val intent = Intent(this,QuestionActivity_4::class.java) 46 startActivity(intent) 47 } 48 } 49}

コメントを投稿

0 コメント