Android studio 旋转屏幕不保存文本颜色kotlin
我有一个简单的增量应用程序。当你按下按钮时,数字上升。然而,当数字高于5时,我也将其改为红色。 我能够得到的数字保存在旋转,但颜色重置回正常。 我不知道怎样才能保存颜色。有什么办法可以做到这一点吗Android studio 旋转屏幕不保存文本颜色kotlin,android-studio,kotlin,onsaveinstancestate,Android Studio,Kotlin,Onsaveinstancestate,我有一个简单的增量应用程序。当你按下按钮时,数字上升。然而,当数字高于5时,我也将其改为红色。 我能够得到的数字保存在旋转,但颜色重置回正常。 我不知道怎样才能保存颜色。有什么办法可以做到这一点吗 // number starts at 0 var num = 0 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.on
// number starts at 0
var num = 0
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val textView = findViewById<TextView>(R.id.textView)
val add = findViewById<Button>(R.id.button)
add.setOnClickListener {
++num
if(num > 5) {
textView.setTextColor(Color.parseColor("#FF0000"))
}
textView.setText(num.toString())
}
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putInt("int", num)
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
if(savedInstanceState != null) {
num = savedInstanceState.getInt("int")
textView.setText(num.toString())
}
}
}
//数字从0开始
var num=0
类MainActivity:AppCompatActivity(){
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val textView=findViewById(R.id.textView)
val add=findViewById(R.id.按钮)
add.setOnClickListener{
++num
如果(数值>5){
textView.setTextColor(Color.parseColor(“#FF0000”))
}
textView.setText(num.toString())
}
}
覆盖存储实例状态(超出状态:捆绑){
super.onSaveInstanceState(超出状态)
outState.putInt(“int”,num)
}
重写RestoreInstanceState(savedInstanceState:Bundle){
super.onRestoreInstanceState(savedInstanceState)
如果(savedInstanceState!=null){
num=savedInstanceState.getInt(“int”)
textView.setText(num.toString())
}
}
}
在RestoreInstanceState上更新此方法
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
if(savedInstanceState != null) {
num = savedInstanceState.getInt("int")
if(num > 5){
textView.setTextColor(Color.parseColor("#FF0000"))
}
textView.setText(num.toString())
}
}