onCreate()期间静态textview会发生什么

时间:2013-05-21 19:02:11

标签: java android

我有一个静态textview,它在XML中设置了一个默认值。稍后,我将该变量设置为其他内容,但每当方向更改时,静态变量的值将返回到默认值,即使我没有重新初始化它。为什么会这样?即使在调用onCreate()之后,该值是否仍然存在?

3 个答案:

答案 0 :(得分:1)

onCreate()被调用时,我猜你也正常呼叫setContentView()。这会使用默认值重新绘制所有Views。您需要处理配置更改

See this answer of mine关于如何处理它。推荐的方法是使用onSavedInstanceState但我通常自己处理它并且没有任何问题......但是

答案 1 :(得分:0)

这与lifecycle of an Android app.有关。每当您轮换时,您的应用程序都会经历所有生命周期方法调用。您需要将当前状态存储在Bundle中,并在轮换发生后在onCreate中恢复该数据。

答案 2 :(得分:0)

在方向更改期间,Android会重新创建所有布局。要保存窗口小部件的状态,只需将id分配给TextView元素:

<TextView
    android:id="@+id/tv_caption"
    ...
/>