嘿,我想问一下如何使用新方法 setRetainInstance(true) 处理 android 中的屏幕方向更改,因为它仅适用于未添加到后台堆栈的片段。我目前拥有的是一个不使用片段的应用程序,它只使用一个活动并使用 asynctasks 那么我将如何在我的应用程序中实现 android 的这个新变化这个解决方案是不可行的,因为我需要将布局从横向更改为肖像 android:configChanges="orientation"
问问题
802 次
3 回答
0
您应该查看有关活动和片段 保存实例状态的指南和文档
于 2013-10-07T08:53:12.117 回答
0
您已经覆盖了两种方法 1) onSaveInstanceState() 和 2) onRestoreInstanceState()。
将所有动态数据和对象保存到包中并在 onRestoreInstanceState() 上检索它。
例如,
@Override
public void onSaveInstanceState(Bundle savedInstanceState){
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putString("message", text.getText().toString());
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState){
super.onRestoreInstanceState(savedInstanceState);
message = savedInstanceState.getString("message");
}
于 2013-10-07T09:08:44.170 回答
0
“此解决方案不可行,因为我需要将布局从横向更改为纵向”
保留片段的要点是,即使底层活动可能会在配置更改时被破坏,但您的片段不会;因此,您可以通过更改使其保持状态。
这些链接将帮助您:
于 2013-10-07T09:17:44.420 回答