Android完成父活动

时间:2011-11-17 09:57:42

标签: android android-activity

我在TabGroupActivity中有3个不同的活动。我们说A - Parent, B - Child 1, C - Child 2

A ---开始 - >乙 B ---开始 - > ç

我在C中有一个警告对话框,显示一些消息。当我按下对话框上的确定按钮时,我想回到活动A.

但问题是我可以从其他活动中打开活动C,我也想回到他们的父活动。因此,无论哪个活动开放C,我都需要制作一些可行的内容。我试过这个,但没有用:

Intent intent = new Intent(Synchronization.this,Synchronization.this.getParent().getClass());  

但它对我没有帮助。有什么建议吗?

2 个答案:

答案 0 :(得分:4)

您只需使用两种Activity方法即可。 startActivityForResult()onActivityResult()

示例:http://www.vogella.de/articles/AndroidIntent/article.html#explicitintents

这就是逻辑:

在ActivityB中

使用startActivityForResult(activityCIntent,INT_CODE)启动ActivityC;

在ActivityC中

现在检查是否按了Dialog确定Button,如果是,则使用setResult(RESULT_OK,intent);设置结果,然后拨打finish();

然后控件将被重定向到ActivityB的onActivityResult()方法。 现在在onActivityMethod()里面检查result_code==RESULT_OKrequestCode = INT_CODE。如果是,则只需致电finish();

答案 1 :(得分:0)

在活动B中,将C活动作为startActivityForResult()启动,因此当您完成C活动时,它将返回B结果。因此,您可以使用intent对象传递标记。

现在当你用ok按钮完成C活动然后将结果设置为RESULT_OK到setResult()中如果需要将数据传递回B活动,你可以将数据设置为Intent,用setResult添加这个意图()方法然后完成C活动。

现在在B中检查请求代码来自C然后完成此活动。当您启动此C活动时,您还可以启动A活动的B活动。

你需要在B活动中覆盖onActivityResult(),如果你为结果启动B活动,那么你还需要定义为A活动