我正在开发一个Android应用程序,它可以添加每个视图程序。 当用户转动屏幕时,我只想要填写的值再次显示 是否有一种简单的方法让Android自动执行此操作?
我的应用程序是完全动态的,因此它没有预定的布局,这使得它变得更加困难。
那么,我怎样才能轻松保存屏幕状态?
答案 0 :(得分: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">
答案 1 :(得分:0)
有关海因(Hein)正确答案的详细说明,请参见我以前的文章: