2011-10-19 59 views
0

我在我的应用中有6个活动,分别是Activity1,Activity2,TabActivity,childTab1,childtab2,ExtraActivity。将孩子活动的结果传递给父母标签活动

应用流量:

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

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

ExtraActivity能够将数据发送到ChildTab1ChildTab2但我无法将数据发送回TabActivity,并进一步回Activity2终于Activity1

请帮忙!!

更新:搜索时,我得到通过这个帖子我的解决方案:

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

+0

使用意图是可能的。 –

+0

我只使用意图..这是如此明显,所以我没有提到这一点。问题是,你不能定义startactivityForResult,当你在tabactivity中添加一个选项卡..可能是多数民众赞成为什么setResult设置意图迷失。 – mudit

+0

使用开始活动并使用putString()。 –

回答

0

我想你可以委托从ChildTabX到TabActivity与onActivityResult方法,结果((TabActivity)的getParent() ).onActivityResult()。在那里您只需调用setResult并再次完成()以将结果发送到Activity2。活动2相同

0

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

使用应用程序上下文的方式。

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

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

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

MyApplication appContext = (MyApplication) getApplicationContext(); 

现在字符串在appContext对象中。

您还需要

android:name=".MyApplication" 

添加到应用程序标签清单文件。

相关问题