大体是一样的,修改了一些
package com.example.geoquiz
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.View
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
class MainActivity : AppCompatActivity() {
private lateinit var questionText: TextView
private lateinit var ture_button: Button
private lateinit var false_button: Button
private lateinit var last_button: Button
private lateinit var next_button: Button
private lateinit var score_button: Button
private val TAG = "MainActivity"
private var questionList = listOf(
Question(R.string.question, true),
Question(R.string.question1, true),
Question(R.string.question2, true),
Question(R.string.question3, false),
Question(R.string.question4, false),
Question(R.string.question5, false)
)
private var index = 0
private var buttonStatus = true//按钮可以按
private var score = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
questionText = findViewById(R.id.question)
ture_button = findViewById(R.id.ture_button)
false_button = findViewById(R.id.false_button)
last_button = findViewById(R.id.last_button)
next_button = findViewById(R.id.next_button)
next_button = findViewById(R.id.next_button)
score_button = findViewById(R.id.score_button)
updateQuestion()
//点击问题跳转下一题
questionText.setOnClickListener(View.OnClickListener {
index = (index + 1) % questionList.size
updateQuestion()
})
ture_button.setOnClickListener(View.OnClickListener {
buttonStatus = false
checkAnswer(true)
closeButton()
})
false_button.setOnClickListener(View.OnClickListener {
buttonStatus = false
checkAnswer(false)
closeButton()
})
last_button.setOnClickListener(View.OnClickListener {
openButton()
if (index == 0) {
index = questionList.size - 1
questionText.setText(questionList[index].questionID)
} else {
index -= 1
questionText.setText(questionList[index].questionID)
}
})
next_button.setOnClickListener(View.OnClickListener {
index = (index + 1) % questionList.size
updateQuestion()
})
score_button.setOnClickListener(View.OnClickListener {
settlementScore()
})
}
override fun onStart() {
super.onStart()
Log.e(TAG, "onStart")
}
override fun onResume() {
super.onResume()
Log.e(TAG, "onResume")
}
override fun onPause() {
super.onPause()
Log.e(TAG, "onPause")
}
override fun onStop() {
super.onStop()
Log.e(TAG, "onStop")
}
override fun onDestroy() {
super.onDestroy()
Log.e(TAG, "onDestroy")
}
private fun updateQuestion() {
openButton()
var textId = questionList[index].questionID
questionText.setText(textId)
}
private fun checkAnswer(answer: Boolean) {
var questionanswer = questionList[index].answer
if (answer == questionanswer) {
score += 20
Toast.makeText(this, R.string.ture_toast, Toast.LENGTH_SHORT).show()
} else {
Toast.makeText(this, R.string.false_toast, Toast.LENGTH_SHORT).show()
}
}
private fun closeButton() {
if (!buttonStatus) {
ture_button.isEnabled = buttonStatus
false_button.isEnabled = buttonStatus
}
}
private fun openButton() {
if (!buttonStatus) {
ture_button.isEnabled = true
false_button.isEnabled = true
}
}
private fun settlementScore() {
//答完所有题结算成绩
if (index == questionList.size - 1) {
Toast.makeText(this, "得分为$score", Toast.LENGTH_SHORT).show()
score = 0
} else {
Toast.makeText(this, "题目没有答完哦", Toast.LENGTH_SHORT).show()
}
}
}
package com.example.geoquiz
import androidx.annotation.StringRes
data class Question(@StringRes val questionID: Int, val answer: Boolean) {
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
android:gravity="center">
<TextView
android:id="@+id/question"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
android:layout_marginTop="20dp">
<Button
android:id="@+id/ture_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ture_button"/>
<Button
android:id="@+id/false_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/false_button"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
android:layout_marginTop="20dp">
<Button
android:id="@+id/last_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/last"
android:text="@string/last_button"/>
<Button
android:id="@+id/next_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/next"
android:text="@string/next_button"/>
</LinearLayout>
<Button
android:id="@+id/score_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/score_button"
android:layout_marginTop="20dp"/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/question"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_marginTop="20dp">
<Button
android:id="@+id/ture_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ture_button"/>
<Button
android:id="@+id/false_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/false_button"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_marginTop="80dp">
<Button
android:id="@+id/last_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/last"
android:text="@string/last_button"/>
<Button
android:id="@+id/next_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/next"
android:text="@string/next_button"/>
</LinearLayout>
<Button
android:id="@+id/score_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:text="@string/score_button"
android:layout_marginTop="140dp"/>
</FrameLayout>
<resources>
<string name="app_name">GeoQuiz</string>
<string name="question">故宫是在北京吗?</string>
<string name="question1">长城是在北京吗?</string>
<string name="question2">黄鹤楼是在武汉吗?</string>
<string name="question3">避暑山庄在武汉吗?</string>
<string name="question4">月牙泉是在江苏吗?</string>
<string name="question5">布达拉宫是在新疆吗?</string>
<string name="ture_button">正确</string>
<string name="false_button">错误</string>
<string name="ture_toast">答对了</string>
<string name="false_toast">答错了</string>
<string name="next_button">下一题</string>
<string name="last_button">上一题</string>
</resources>