Skip to content

Instantly share code, notes, and snippets.

@codeforfun-jp
Last active September 15, 2023 08:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save codeforfun-jp/56b3d27fa90bbf03608e30239208d4b6 to your computer and use it in GitHub Desktop.
Save codeforfun-jp/56b3d27fa90bbf03608e30239208d4b6 to your computer and use it in GitHub Desktop.
Android Quiz App Kotlin 4-5
package com.example.quizapp
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import com.example.quizapp.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
private var rightAnswer: String? = null
private var rightAnswerCount = 0
private var quizCount = 1
private val quizData = mutableListOf(
mutableListOf("北海道", "札幌市", "長崎市", "福島市", "前橋市"),
mutableListOf("青森県", "青森市", "広島市", "甲府市", "岡山市"),
mutableListOf("岩手県", "盛岡市", "大分市", "秋田市", "福岡市"),
mutableListOf("宮城県", "仙台市", "水戸市", "岐阜市", "福井市"),
mutableListOf("秋田県", "秋田市", "横浜市", "鳥取市", "仙台市"),
mutableListOf("山形県", "山形市", "青森市", "山口市", "奈良市"),
mutableListOf("福島県", "福島市", "盛岡市", "新宿区", "京都市"),
mutableListOf("茨城県", "水戸市", "金沢市", "名古屋市", "奈良市"),
mutableListOf("栃木県", "宇都宮市", "札幌市", "岡山市", "奈良市"),
mutableListOf("群馬県", "前橋市", "福岡市", "松江市", "福井市")
)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.answerBtn1.setOnClickListener { checkAnswer(it) }
binding.answerBtn2.setOnClickListener { checkAnswer(it) }
binding.answerBtn3.setOnClickListener { checkAnswer(it) }
binding.answerBtn4.setOnClickListener { checkAnswer(it) }
quizData.shuffle()
showNextQuiz()
}
// クイズを出題する
private fun showNextQuiz() {
// クイズを1問取り出す
val quiz = quizData[0]
// 問題をセット
binding.questionLabel.text = quiz[0]
// 正解をセット
rightAnswer = quiz[1]
// 都道府県名を削除
quiz.removeAt(0)
// 正解と選択肢3つをシャッフル
quiz.shuffle()
// 正解と選択肢をセット
binding.answerBtn1.text = quiz[0]
binding.answerBtn2.text = quiz[1]
binding.answerBtn3.text = quiz[2]
binding.answerBtn4.text = quiz[3]
// 出題したクイズを削除する
quizData.removeAt(0)
}
// 解答ボタンが押されたら呼ばれる
private fun checkAnswer(view: View) {
}
// 出題数をチェックする
private fun checkQuizCount() {
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment