我的应用程序有一个有趣的小bug。当用户旋转屏幕时,我的活动中会丢失一些数据。是否有人知道为什么会出现这种情况?
我的应用程序有一个有趣的小bug。当用户旋转屏幕时,我的活动中会丢失一些数据。是否有人知道为什么会出现这种情况?
private boolean mSomeBooleanData = false;
public boolean getSomeBooleanData(){
return mSomeBooleanData;
}
public void setSomeBooleanData (boolean data) {
mSomeBooleanData = data;
}
现在在 Activity/Fragment 类的某个地方,我们可以从 ViewModel 中调用这些方法,在旋转期间保存我们想要保存的数据:
mViewModel.setSomeBooleanData(true);
然后当在 onResume() 方法中重新创建 Activity/Fragment 类时,我们可以从 ViewModel 中查找保存的数据并对其进行操作:
public void onResume(){
super.onResume();
if (mViewModel.getSomeBooleanData()){
//...Do something when saved data is True
} else {
//...Do something when saved data is False
}
}