为什么当我交换到横向时,我对用户界面的更改被取消了?

时间:2011-02-15 10:19:21

标签: java android

我有另一个问题!

我的应用中有一个配置Activity。在它上面,我有一个ListView。现在添加&将商品移至&从它的工作,但当我将屏幕旋转到横向或后面时,所有添加& ListView中未保存的项目被删除了......我想知道为什么会这样......为什么会这样?

3 个答案:

答案 0 :(得分:4)

当屏幕方向发生变化时,默认情况下,活动将被销毁并再次创建。这意味着,一旦方向改变,将再次调用onCreate。基本上有两种方法可以解决您的问题:

  1. 在destory之前保存您的活动状态,并在创建
  2. 时将其加载回来
  3. AndroidManifest中设置不处理屏幕方向更改的活动。
  4. E.g。

    <activity name="..."
        android:configChanges="orientation" .../>
    

答案 1 :(得分:0)

旋转听筒时,会调用您的onStart方法。检查可能你在那里做了一些初始化。

答案 2 :(得分:0)

我已经部分解决了。现在,它可以在更改为横向视图时保持更改,但不能以其他方式返回到普通视图。我是通过使用protected void onSaveInstanceState(Bundle saveState)来完成的。但正如我所说,当它从景观变回来时,这不起作用......有人对此有任何想法吗?