1. MainActivity.kt文件修改
①定义prevButton
······
private lateinit var trueButton:Button
private lateinit var falseButton: Button
private lateinit var nextButton: Button
private lateinit var prevButton: Button
//在这里添加定义prevButton
······
②设置监听器
······
nextButton.setOnClickListener {
currentIndex = (currentIndex + 1) % questionBank.size
updateQuestion()
}
prevButton.setOnClickListener {
currentIndex = (currentIndex - 1) % questionBank.size
updateQuestion()
}
//在nextButton后面增加prevButton
······
但是这样做会有一个bug,就是显示第0个问题时,按“PREV”会导致app闪退,所以可以升级一下,用下面的方法解决
······
nextButton.setOnClickListener {
currentIndex = (currentIndex + 1) % questionBank.size
updateQuestion()
}
prevButton.setOnClickListener {
if (currentIndex == 0) {
currentIndex = questionBank.size
currentIndex = (currentIndex - 1) % questionBank.size
}
else {
currentIndex = (currentIndex - 1) % questionBank.size
}
updateQuestion()
}
//在nextButton后面增加prevButton
······
2. strings.xml文件修改
······
<string name="next_button">Next</string>
<string name="prev_button">Prev</string>
//在此处增加string
······
3. activity_main.xml文件修改
①由于想让PREV和NEXT两个button处于水平并排排列的位置,所以此处需要增加LinearLayout将二者均包括在内,并设置自动宽度高度和水平排列。
②增加PREV的Button
······
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
//设置自动宽度高度和水平排列
<Button
android:id="@+id/prev_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/prev_button"
android:drawableStart="@drawable/arrow_left"
android:drawablePadding="4dp" />
<Button
android:id="@+id/next_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/next_button"
android:drawableEnd="@drawable/arrow_right"
android:drawablePadding="4dp"/>
//增加PREV的Button
</LinearLayout>
······
完成!