我的应用中有6个活动,分别是Activity1,Activity2,TabActivity,childTab1,childtab2,ExtraActivity。
应用流程:
Activity1 => Activity2 => TabActivity =>ChildTab1 or ChildTab2 => ExtraActivity
现在我想将一些数据从ExtraActivity
传递到Activity1
。我正在使用StartActivityForResult
开始所有活动。
ExtraActivity
能够将数据发送到ChildTab1
或ChildTab2
,但我无法将该数据发送回TabActivity
并进一步返回Activity2
,最后到Activity1
。
请帮助!!
更新:在搜索时,我通过这篇文章得到了我的解决方案:
How to return a result (startActivityForResult) from a TabHost Activity?
答案 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"
清单文件中的应用程序标记。