Android “更新”时的屏幕;“全部”;异步任务已经完成

Android “更新”时的屏幕;“全部”;异步任务已经完成,android,Android,我使用asynctask执行诸如DB读取之类的冗长操作。我想在所有异步任务完成后启动一个新活动并呈现其内容。实现这一目标的最佳方式是什么 我知道onPostExecute用于更新屏幕。但我不想更新屏幕,除非所有其他任务都完成了 请帮忙 谢谢别把它复杂化了:只要使用一个计数器,它在每次执行后都会递增。如果任务发现此计数器已达到最大值(等于生成的任务数),则可以运行更新代码 请注意,您不需要锁定此计数器,因为onPostExecute在UI线程中运行。不要将其过度复杂化:只需使用在每次onPostE

我使用asynctask执行诸如DB读取之类的冗长操作。我想在所有异步任务完成后启动一个新活动并呈现其内容。实现这一目标的最佳方式是什么

我知道onPostExecute用于更新屏幕。但我不想更新屏幕,除非所有其他任务都完成了

请帮忙
谢谢

别把它复杂化了:只要使用一个计数器,它在每次执行后都会递增。如果任务发现此计数器已达到最大值(等于生成的任务数),则可以运行更新代码


请注意,您不需要锁定此计数器,因为
onPostExecute
在UI线程中运行。

不要将其过度复杂化:只需使用在每次
onPostExecute
中递增的计数器即可。如果任务发现此计数器已达到最大值(等于生成的任务数),则可以运行更新代码


请注意,您不需要锁定此计数器,因为
onPostExecute
在UI线程中运行。

建议您创建一个大小与异步任务数匹配的布尔数组。每个异步任务都有一个ID,该ID是布尔数组的索引。在onPostExecute或其他回调中,您可以检查所有条目是否都为true。那你就知道一切都结束了。另一种方法是,为每个Asynctask分配唯一的id,还有这些id的和,当其中一个完成时,从和中减去它的id,当它达到零时,你也知道它们都完成了。不完美,只是一些建议

只是一个建议,您可以创建一个大小与Asynctask数量相当的布尔数组。每个异步任务都有一个ID,该ID是布尔数组的索引。在onPostExecute或其他回调中,您可以检查所有条目是否都为true。那你就知道一切都结束了。另一种方法是,为每个Asynctask分配唯一的id,还有这些id的和,当其中一个完成时,从和中减去它的id,当它达到零时,你也知道它们都完成了。不完美,只是一些建议

我同意这个建议!聪明人:)我喜欢这个建议!聪明人:)谢谢。我喜欢另一个解决方案,但另一个用户,因为它更简单。不过+谢谢你。我喜欢另一个解决方案,但另一个用户,因为它更简单。不过+1.