首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何处理ProgressDialog显示的方向变化?

如何处理ProgressDialog显示的方向变化?
EN

Stack Overflow用户
提问于 2010-09-12 23:54:05
回答 6查看 9.6K关注 0票数 17

我在AsyncTask对象的onPreExecute方法中显示了一个ProgressDialog,并在onPostExecute方法中取消了该ProgressDialog。在doInBackground方法中,我为用户注册发出一个超文本传输协议请求。我希望允许屏幕方向更改。当我在doInBackground方法仍在运行的时候改变方向时,我得到了各种有趣的错误,比如“IllegalArgumentException: View not attached to window manager”和“RegisterScreen has leaked window...”。

在方向更改后,如何正确地继续显示ProgressDialog?或者,在用户请求提交注册后,如何禁用方向更改?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-09-13 22:31:19

尝试将此属性android:configChanges="orientation"添加到AndroidManifest.xml文件中的Activity元素。

票数 15
EN

Stack Overflow用户

发布于 2010-09-13 00:02:28

您可以尝试在显示ProgressDialog期间禁用方向更改。

一开始要做的是:

代码语言:javascript
复制
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);

并在完成后返回:

代码语言:javascript
复制
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

希望这能有所帮助。

(如果有人有合适的解决方案,我也很感兴趣:-)

票数 6
EN

Stack Overflow用户

发布于 2010-09-13 22:26:34

您希望正确处理活动生命周期,这意味着保存和恢复活动的状态,而不是试图阻止生命周期更改。做一些关于AsyncTask与活动生命周期的阅读。

例如:pause-and-resume-asynctasks-androidwhat-to-do-with-asynctask-in-onpause

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3695484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档