关闭活动并在AsyncTask完成后返回父活动

时间:2017-07-12 11:09:30

标签: android android-activity android-asynctask

让我们假设活动A是父活动,活动B是子活动。活动B实现AsyncTask。 AsyncTask完成后,我希望用户被告知异步功能正常完成,然后我希望我的应用程序返回活动A,而无需用户与活动B交互。 我知道onPostExecute将促进我想要做的事情。

  1. 我应该使用小吃吧还是创建对话框?
  2. 返回活动A后是否可以通知用户AsyncTask正确完成?
  3. 也许这些问题是微不足道的,但我正试图获得更多的见解

3 个答案:

答案 0 :(得分:0)

您可以使用interface通知您的活动以完成asynctask。 这里有answer示例。

答案 1 :(得分:0)

在AsyncTask的onPostExecute方法中实现一个快餐栏,并调用finish()来结束活动。这应该有用。

答案 2 :(得分:0)

  1. 你应该使用一个带有setEnableToTochOutside(false)的对话框,以防止用户在asreectask的Preexcute上与活动B进行交互。
  2. 在PostExcute上,如果要将返回数据或类似标志的内容发送到活动A,则从活动A开始,您可以使用startActivityForResult(A,B)。在活动B的PostExcute上,您在返回活动A之前设置数据和结果。当活动A接收数据时,只需在此处发出通知。或者如果你想注意活动B,只需要制作Toast,或者使用cancle按钮进行对话(按下完成活动B)。关于StartActivityForResult:an example here
  3. 很多种类都可以返回活动A的数据,你可以研究一下LocalBroadcast或EventBus。