【发布时间】:2020-03-30 06:00:27
【问题描述】:
我在 kotlin 中初始化了一些私有 Int 变量。
class multiply : AppCompatActivity() {
.
.
private var score:Int=0;
private var score2=0;
.
.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState);
if(savedInstanceState==null) {
score=score2;
}
.
.
}
.
.
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
score=savedInstanceState.getInt("val_score");
}
我的问题是,当我旋转手机时,会创建一个新的活动,并且在当前代码中,分数被分配为 0。有没有办法只初始化一次?出路是什么?
我在 onCreate 中使用分数进行了一些计算。由于 onRestoreInstanceState 是在 onCreate 之后执行的,除了在 onStart 中定义 score 的值之外,还有什么方法可以保持 score 的值不受屏幕旋转的影响?
【问题讨论】: