在Android应用中,旋转屏幕时,会调用onCreate()
绘制视图并创建对象。 TextView对象恢复以前的文本,而ImageView对象则不能。有什么理由吗?任何答案都将帮助我了解Android的工作原理:)
非常感谢,
最佳答案
更改方向后,将重新创建整个活动。如果要在方向更改后恢复数据,可以使用onSaveInstanceState和onRestoreInstanceState进行操作。更改方向时,将调用onSaveInstanceState以将值保存在Bundle中,并且在重新创建Activity后,将调用onRestoreInstaceState再次从Bundle中加载值。您可以这样使用:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
// "Value" is a tag with which you can load the String again in onRestoreInstanceState.
savedInstanceState.putString("Value", this.stringToSave);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// Use the tag "Value" to load the String again.
this.stringToSave = savedInstanceState.getString("Value");
}
关于java - 在Android中重新创建 Activity ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20106297/