其他分享
首页 > 其他分享> > 方向更改时如何处理活动?

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

作者:互联网

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

解决方法:

我会说您有两种选择:
您要么强迫自己的活动不能改变方向:

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

在清单(documentation)中,它将告诉系统您要自己处理方向更改,在这种情况下,您将不会做任何事情.但是,您宁愿在onPause()和onSaveInstanceState()中添加一些代码,因为当您接到一个电话时,Android可能会中断此活动.因此,您需要处理一些节省.

或者,您选择在已经显示或后台线程正在运行时阻止显示对话框.这很容易,因为您可以使用AsyncTask作为下载部件,因为您可以使用AsyncTask.getStatus,它将返回the status of the task.如果它已经处于完成状态,则必须取消该对话框.

标签:progressdialog,activity-lifecycle,android
来源: https://codeday.me/bug/20191023/1916511.html