想要停止在方向更改时重新启动asynctask

时间:2012-09-11 11:03:41

标签: android

我的应用只需从json请求url数据,并将其显示在TableLayout中。我使用asynctask来请求json数据,然后使用json数据填充TableLayout。它工作正常,但在更改设备方向时,它会再次通过运行json来请求AsyncTask数据。我只是想再次停止调用AsyncTask。我希望AsyncTaskactivity的生命周期内只运行一次。

2 个答案:

答案 0 :(得分:2)

要保持AsyncTask运行,你应该覆盖onRetainNonConfigurationChange()(或setRetainInstance(),但请注意它是API11!)并在那里传递你的AsyncTask以保持活着状态。或者,您可以通过添加

告诉框架您的活动将自行处理一些配置更改
android:configChanges="keyboardHidden|orientation|screenSize"

<activity>。但这不是正确的方法(而是快捷方式),因为你只想保留任务而不是其他任何东西。

答案 1 :(得分:1)

在您的活动中添加android:configChanges="keyboardHidden|orientation",以防止在方向更改时重启活动。