【发布时间】:2011-12-02 05:18:03
【问题描述】:
如何在方向改变时保存对象,因为 onRetainNonConfigurationInstance 和 getLastNonConfigurationInstance 已被弃用。我不能与compatibility package android-support-v4.jar FragmentActivity 一起使用,它显示Cannot override the final method from FragmentActivity
开发者网站说
改用新的 Fragment API setRetainInstance(boolean);
但我不知道如何使用setRetainInstance 保存自定义对象
我的场景:
在我的活动中,我有一个带有进度对话框的 AsyncTask。在这里我需要处理方向变化。
为此,我从 CommonsWare 的 Mark Murphy 那里得到了很好的回答
background-task-progress-dialog-orientation-change-is-there-any-100-working,
sample project
由于我使用的是兼容包 android-support-v4.jar,FragmentActivity,我无法覆盖 onRetainNonConfigurationInstance
无法覆盖 FragmentActivity 中的 final 方法
有没有其他方法可以保存我的自定义对象?
编辑:
我不能使我的 AsyncTask 任务 Parcelable (如果我没记错的话),因为它使用接口、上下文等。
我的AsyncTask
public class CommonAsyncTask extends AsyncTask<Object, Object, Object> {
Context context;
AsyncTaskServices callerObject;
ProgressDialog progressDialog;
String dialogMessag ;
................
我正在寻找,是否有任何 onRetainNonConfigurationInstance 方法的替代方法,它可以在方向更改时完全保存对象,以后可以使用getLastNonConfigurationInstance 检索
【问题讨论】: