如何在运行时在异步任务中设置方向锁定
我的应用程序显示不同的横向和纵向视图,因为我定义了 2 个视图,一个在布局中,一个在布局区域中。单击某个按钮后,我将启动一个异步任务,该任务将从服务中获取一些数据并将其绑定到我的 UI,这在横向和纵向上是不同的。我的问题是,一旦我单击按钮(启动带有进度条的异步任务),如果我旋转屏幕,应用程序就会崩溃。我的设计不支持重写 onRetainConfigChanges(),因为我有多个异步任务,每个任务都会以不同的方式影响我的 UI。
我的想法是“有没有一种方法可以锁定 onPreExcecute 中的方向并将其保留在 Execute() 后”。任何想法请帮助我。对不起我的英语。
My app shows diffent views for landscape and portrait for that I defined 2 views one in layout and one in layout-land. After clicking some button I will start one async task, which will fetch some data from service and bind it to my UI, which is different in landscape and portrait. My problem is as soon as I click the button (which starts async task with some progress bar), If i rotate the screen the app will crash. My design won't support overriding onRetainConfigChanges(), as I have multiple async tasks, each will effect my UI in diff way.
My Idea is "Is there is a way to lock orientation in onPreExcecute and leave it in on post Execute()". Any Idea Plz help me. Sorry for my english.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
on预执行:
Activity.setRequestedOrientation(getActivity().getResources().getConfiguration().orientation)
onPostExecute
Activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
onPreExecute:
activity.setRequestedOrientation(getActivity().getResources().getConfiguration().orientation)
onPostExecute
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);