我正在开发安卓应用程序。我的应用程序应该可以在纵向和横向模式下工作。我通过将所有布局文件保存在 layout-lan 文件夹中来调整所有布局。但是现在我的问题在于功能,即当应用程序更改为横向模式时,我的参数值正在发生变化,因此我遇到了崩溃。即我保留了一个计数器值,但是当转向端口局域网时它显示错误的计数值。因此,功能也在发生变化。请在这方面帮助我。
问问题
1125 次
3 回答
1
每次旋转设备时,都会再次调用 onCreate 方法。您可以通过覆盖 onSavedInstanceState 来保存这些值,然后在 onRestoreInstanceState 或 onCreate 方法中将它们取回。例如:
保存值:
public void onSaveInstanceState(Bundle outState) {
outState.putBoolean("booleanValue", true);
}
恢复值(您也可以在 onCreate 中调用它):
protected void onRestoreInstanceState(Bundle savedInstanceState) {
if (savedInstanceState != null && savedInstanceState.containsKey("booleanValue")) {
boolean myBoolean = savedInstanceState.getBoolean("booleanValue");
}
super.onRestoreInstanceState(savedInstanceState);
}
于 2013-02-25T16:11:38.720 回答
0
每次方向更改时,您的活动都会重新启动。
您必须将您的值存储onSaveInstanceState
在onRestoreInstanceState
. 您将在此处找到详细信息:http: //developer.android.com/guide/topics/resources/runtime-changes.html
于 2013-02-25T15:56:33.947 回答
0
这些值会发生变化,因为活动在轮换期间被破坏和重建,
请查看开发人员指南,了解如何保存您的活动状态。
http://developer.android.com/training/basics/activity-lifecycle/recreating.html#SaveState
于 2013-02-25T16:07:22.457 回答