我的应用只需从json
请求url
数据,并将其显示在TableLayout
中。我使用asynctask
来请求json
数据,然后使用json
数据填充TableLayout
。它工作正常,但在更改设备方向时,它会再次通过运行json
来请求AsyncTask
数据。我只是想再次停止调用AsyncTask
。我希望AsyncTask
在activity
的生命周期内只运行一次。
答案 0 :(得分:2)
要保持AsyncTask运行,你应该覆盖onRetainNonConfigurationChange()(或setRetainInstance(),但请注意它是API11!)并在那里传递你的AsyncTask以保持活着状态。或者,您可以通过添加
告诉框架您的活动将自行处理一些配置更改android:configChanges="keyboardHidden|orientation|screenSize"
到<activity>
。但这不是正确的方法(而是快捷方式),因为你只想保留任务而不是其他任何东西。
答案 1 :(得分:1)
在您的活动中添加android:configChanges="keyboardHidden|orientation"
,以防止在方向更改时重启活动。