0

我的应用程序使用片段以纵向模式显示 ListView 或以横向模式并排显示 ListView 和“详细信息”视图。我在 ActionBar 中还有一个启动 AsyncTask 的菜单项。问题是,如果用户在 AsyncTask 运行时将其显示从纵向旋转到横向(反之亦然),则 AsyncTask 将被终止。为了修复 AsyncTask 停止,我将 configChanges 属性添加到 AndroidManifest:

    <activity android:name="ListingFragment" android:configChanges="keyboardHidden|orientation" />

但是,添加该属性会阻止片段自动切换到横向/纵向视图。有没有办法让片段自动切换视图而不杀死 AsyncTask?

4

1 回答 1

1

您需要在活动被终止之前保存 asynctask 的实例。您可以使用onRetainCustomNonConfigurationInstance()来保存它。然后在您的 oncreate 中,您可以使用getLastCustomNonConfigurationInstance(). 然后在您的 onCreate 中,您可以再次将您的活动“附加”到异步任务。

于 2012-04-08T18:36:36.357 回答