等待java完成异步任务
我有三节课
- A类(扩展活动。这是主要活动)
- B类(扩展异步。用于登录)
- 类C(扩展活动。在类B的异步任务完成后调用)
在我的主要活动(A)中,我正在执行B类的登录方法。 在这些登录方法运行后,我想打开第二个活动,即C类。我现在不能这样做,因为B类运行C类打开。我需要它来等待异步任务完成
有人知道如何做到这一点吗?我已经搜索过了,从我收集到的信息来看,人们并没有试图用和我一样的类结构来做这件事,这会稍微改变一些事情
谢谢
你可以在下面搜索框中键入要查询的问题!
我有三节课
在我的主要活动(A)中,我正在执行B类的登录方法。 在这些登录方法运行后,我想打开第二个活动,即C类。我现在不能这样做,因为B类运行C类打开。我需要它来等待异步任务完成
有人知道如何做到这一点吗?我已经搜索过了,从我收集到的信息来看,人们并没有试图用和我一样的类结构来做这件事,这会稍微改变一些事情
谢谢
# 1 楼答案
使B成为A的内部类,然后从^{开始C。因为B是A的内部类,所以可以访问A中的所有内容
# 2 楼答案
从B的
onPostExecute()
开始C你的
AsyncTask
应该由一个保留的片段来管理,这样它就可以在配置更改期间正常工作。使AsyncTask
成为该保留片段的一个常规内部类,这样它就可以从onPostExecute()
安全地调用getActivity()
,并且可以调用startActivity()
# 3 楼答案
如果希望AsyncTask保留在单独的文件中,则需要在构造函数中获取上下文。然后在完成登录后,就可以开始活动C
比如:
在活动A中,调用以下异步任务: