2012-07-18 58 views
3

我正在研究一个可以添加每个视图programmaticaly的android应用程序。 当用户转动屏幕时,我只想要填充的值再次显示。
有没有一种简单的方法让Android自动执行此操作?如何轻松地处理方向更改

我的应用程序是完全动态的,所以它没有预定的布局,这使得它更难。

那么,我该如何轻松保存我的屏幕状态?

+1

你为什么不修复方向? – pixelscreen 2012-07-18 09:47:59

+1

通常,EditBoxes等小部件会保存其状态,包括取向变化的值 – 2012-07-18 09:54:11

回答

6

每次定位更改,android都会创建新视图并销毁旧视图。你可以保存你的数据时的方向变化,并创建新的视图时

使用onConfigurationChanged活动的方法来检测取向变化重新初始化

public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 

    // Checks the orientation of the screen 
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show(); 
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ 
     Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show(); 
    } 
    } 

不要忘了在AndroidManifest编辑相应的元素.XML这样包括android:configChanges

<activity android:name=".MyActivity" 
      android:configChanges="orientation|keyboardHidden" 
      android:label="@string/app_name">