我工作的一个Android应用,programmaticaly增加了每个视图。 当用户开启屏幕,我只是想被填入再次显示的值。
有一个简单的方法,让Android的做到这一点automaticaly?
我的应用程序是完全动态的,所以它好好尝试具有预定的布局,这使得它有很多困难。
所以,我怎么能轻松保存我的屏幕的状态?
我工作的一个Android应用,programmaticaly增加了每个视图。 当用户开启屏幕,我只是想被填入再次显示的值。
有一个简单的方法,让Android的做到这一点automaticaly?
我的应用程序是完全动态的,所以它好好尝试具有预定的布局,这使得它有很多困难。
所以,我怎么能轻松保存我的屏幕的状态?
每次方向变化,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">