繁体   English   中英

如何在方向更改时处理活动?

[英]How to handle Activity when Orientation changes?

我正在编写一个活动,它从服务器加载数据并使用ArrayAdapter将其显示为列表。 为此,我正在显示一个进度对话框,即加载,同时它从服务器加载所有数据。 然后我在处理程序中关闭对话框。 我的问题是,当我改变方向时,再次显示进度对话框,这是不需要的,因为所有数据都已显示?

我会说你有两个选择:
你强迫你的活动不能改变方向:

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

在您的清单( 文档 )中,它将告诉系统您希望自己处理方向更改,在这种情况下,您将不会执行任何操作。 但是,您宁愿在onPause()onSaveInstanceState()添加一些代码,因为当您接到电话时,Android可能会中断此活动。 所以你需要处理一些节省。

或者,您选择在已显示对话框或后台线程运行时阻止显示对话框。 这很简单,您可以使用AsyncTask作为下载部分,因为您可以使用AsyncTask.getStatus来返回任务的状态 如果它已处于完成状态,则必须取消该对话框。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM