如何在android中保持活动状态
如何在android中保留活动的状态?我有两个布局的纵向和横向布局在布局和布局土地。在显示进度对话框时,我正在从服务加载值。如果已加载,则用户在加载时将设备旋转到横向。我如何避免这种情况?用户在webview中键入的内容也已刷新。我如何避免这种情况,有人能举个例子吗如何在android中保持活动状态,android,Android,如何在android中保留活动的状态?我有两个布局的纵向和横向布局在布局和布局土地。在显示进度对话框时,我正在从服务加载值。如果已加载,则用户在加载时将设备旋转到横向。我如何避免这种情况?用户在webview中键入的内容也已刷新。我如何避免这种情况,有人能举个例子吗 谢谢当方向改变时,默认情况下会重新加载活动。如果不希望出现此行为,请将其添加到清单中的活动定义中: android:configChanges=“方向|键盘隐藏” 有关详细信息,请参见您可以使用onretainonconfigura
谢谢当方向改变时,默认情况下会重新加载活动。如果不希望出现此行为,请将其添加到清单中的活动定义中: android:configChanges=“方向|键盘隐藏”
有关详细信息,请参见您可以使用
onretainonconfigurationchange()
回调来存储任意数据。它是在即将重新创建应用程序之前调用的
然后,在onCreate()
中,只需通过调用getLastNonConfigurationInstance()
来检查是否搁置了一些数据,该函数返回您搁置的对象或null
请参阅关于android开发者的文章
以下是从上述链接中借用的示例:
@Override
public Object onRetainNonConfigurationInstance() {
//this is called by the framework when needed
//Just return what you want to save here.
return MyBigObjectThatContainsEverythingIWantToSave;
}
以前保存状态的自动逻辑恢复:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final MyDataObject MyBigObjectThatContainsEverythingIWantToSave = (MyDataObject) getLastNonConfigurationInstance();
if (MyBigObjectThatContainsEverythingIWantToSave == null) {
//No saved state
MyBigObjectThatContainsEverythingIWantToSave = loadMyData();
} else {
//State was restored, no need to download again.
}
...
}
当方向更改时,默认情况下会重新加载活动。如果不希望出现这种行为,请将其添加到android清单文件中的活动定义中:
android:configChanges=“orientation | screenSize | keyboardHidden”@Laurent我必须保存很多像textview这样的对象webview如何保存你能举个例子吗谢谢