屏幕方向更改会强制重新输入数据

时间:2011-01-16 03:36:39

标签: android orientation android-edittext

我正在开发一个简单的应用程序,只有少数几个活动,没有什么可复杂的。我遇到的问题是,在我的一些活动中,我有EditText小部件,当屏幕旋转时,这些小部件会丢失它们的值。它们仍然在视觉上,即在手机屏幕上,在旋转之前报告它们的值,但是代码报告它们的默认值。

一个例子,我有一个带有EditText的活动,我输入一个数字,15,计算器开始计算,显示结果。如果此时我旋转到不同的方向,正如预期的那样活动消失,重新加载,显示新的方向,我的值15仍然在EditText中,但计算器(代码)计算好像它是0,这是初始值。我没有尝试更改初始值以查看它是否真的从默认值拉出,或者只是在将其转换为int时将其自身设置为0.

如果我没有充分解释这个问题,请告诉我,如果需要,我可以添加源代码。 感谢。

1 个答案:

答案 0 :(得分:2)

你什么时候读价值?视图状态由Activity的{​​{1}}默认实施保留,该实施在onRestoreInstanceStateonStart之间发生。如果您在此之前读取值,则可以解释为什么您看到计算的默认值而不是绘制屏幕后显示的值。