在Android中更改方向时保存按钮状态

时间:2020-05-25 20:57:37

标签: android android-studio kotlin

我正在Android Studio中编写应用程序。 该活动如下所示:

enter image description here

代码:

class Kadr13Activity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_kadr13)
}

var flag = false

fun nextClick(view: View) {
    if (flag) COUNT ++

    val intentKadr14 = Intent(this, Kadr14Activity::class.java)
    startActivity(intentKadr14)
    this.finish()

}

fun backClick(view: View){
    val intentKadr12 = Intent(this, Kadr12Activity::class.java)
    startActivity(intentKadr12)
    this.finish()
}

fun btn1Click(view: View){
    ans131Btn.setImageResource(R.drawable.btn_13_1_chosen)
    ans132Btn.setImageResource(R.drawable.btn_13_2)
    ans133Btn.setImageResource(R.drawable.btn_13_3)
    flag = false
}

fun btn2Click(view: View){
    ans132Btn.setImageResource(R.drawable.btn_13_2_chosen)
    ans131Btn.setImageResource(R.drawable.btn_13_1)
    ans133Btn.setImageResource(R.drawable.btn_13_3)
    flag = true
}

fun btn3Click(view: View){
    ans133Btn.setImageResource(R.drawable.btn_13_3_chosen)
    ans131Btn.setImageResource(R.drawable.btn_13_1)
    ans132Btn.setImageResource(R.drawable.btn_13_2)
    flag = false
}
}

因此,当用户按下按钮时,图片将更改。

但是,当改变屏幕方向时,“取消选择”按钮。如何保存按钮状态?谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

请查看Android lifecycle和有关保存和还原实例状态的链接部分。

您可以具体做的是在onSaveInstanceState内部(例如,将布尔值放入具有类似BUTTON_SELECTED之类的名称的bundle中)然后在onCreate(旋转后称为)中获取按钮状态时,从bundle中获取该值传递给您,然后根据需要设置按钮状态