在Android应用程序中,当您旋转屏幕时,将调用onCreate()
来绘制视图并创建对象。 TextView对象恢复以前的文本,但不ImageView对象。这是有原因的吗?任何的回答会帮助我了解的Android是如何工作的:)在Android中重新创建活动
太感谢你了,
在Android应用程序中,当您旋转屏幕时,将调用onCreate()
来绘制视图并创建对象。 TextView对象恢复以前的文本,但不ImageView对象。这是有原因的吗?任何的回答会帮助我了解的Android是如何工作的:)在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");
}
Hi Xaver。你的答案很好,但没有回应我的问题:为什么TextView数据被维护,但不是ImageView中的图像? –
您是否以编程方式设置ImageView中的图像? –
是的,但不是文字。 –
如何获取并显示ImageView?屏幕旋转之间必然存在一些差异,并发生什么。 –
如果您有该视图的ID,则应恢复其状态 – dymmeh
为什么文本会恢复到我的编辑值? –