将子活动的结果传递给Parent Tab Activity

时间:2011-10-19 11:00:41

标签: android android-sdk-2.1

我的应用中有6个活动,分别是Activity1,Activity2,TabActivity,childTab1,childtab2,ExtraActivity。

应用流程:

Activity1 => Activity2 => TabActivity =>ChildTab1 or ChildTab2 => ExtraActivity

现在我想将一些数据从ExtraActivity传递到Activity1。我正在使用StartActivityForResult开始所有活动。

ExtraActivity能够将数据发送到ChildTab1ChildTab2,但我无法将该数据发送回TabActivity并进一步返回Activity2,最后到Activity1

请帮助!!

更新:在搜索时,我通过这篇文章得到了我的解决方案:

How to return a result (startActivityForResult) from a TabHost Activity?

2 个答案:

答案 0 :(得分:0)

我认为您可以使用((TabActivity)getParent())。onActivityResult()将来自ChildTabX的onActivityResult方法结果委托给TabActivity。在那里你只需再次调用setResult和finish()将结果发送到Activity2。对于Activity2

也是如此

答案 1 :(得分:0)

您可以使用应用程序上下文在活动之间传递数据。

使用应用上下文的方式。

扩展应用程序类并根据需要添加属性。因此,在您的活动中,您可以访问应用程序上下文并获取数据。由于应用程序上下文是单例,因此它将是每个活动中的相同实例。

MyApplication appContext = (MyApplication) getApplicationContext();
appContext.myString = "YOUR DATA;

在任何其他活动中,您都可以以相同的方式访问该位图。

MyApplication appContext = (MyApplication) getApplicationContext();

现在字符串位于appContext对象中。

您还需要添加

android:name=".MyApplication"

清单文件中的应用程序标记。