在Android中更改方向时保存按钮状态[重复]

问题描述 投票:0回答:1

我正在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
}
}

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

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

android android-studio kotlin
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.