2013-01-21 20 views
1

从活动AI开放活动B与如何从一个活动传递变量的值到另一个

Intent intent = new Intent(this, className.class); 
startActivity(intent); 

然后,我不得不关闭活动B和传递变量值到活动A. 我应该使用另一个意图调用活动A并通过变量值与

intent.putExtra(EXTRA_MESSAGE, "message");

或者我应该用finish();关闭活动B并以其他方式传递变量值?

谢谢

回答

3

使用startActivityForResult从活动A和活动B使用setResult方法来启动活动B将数据发送回给活动A。要获取活动A中的数据,您需要覆盖onActivityResult

+0

我仍然没有得到如何将我的变量值从活动B传递给活动A.是否应该使用putExtra? – MDP

+0

@MatteoDepasquali:plz see [this](http://saigeethamn.blogspot.in/2009/08/android-developer-tutorial-for_31.html)示例 –

+0

@MatteoDepasquali:使用'Intent intent = new Intent(); intent.putExtra(EXTRA_MESSAGE,“message”); setResult(RESULT_OK,intent); finish();'用于从活动发回数据 –

3

您可以使用Activity#startActivityForResult (Intent intent, int requestCode)开始活动。

然后确保您覆盖protected void onActivityResult (int requestCode, int resultCode, Intent data)

+0

我仍然没有得到如何将活动B的变量值传递给活动A.我应该使用putExtra吗? – MDP

+0

是的。在你的B活动中这样做。从你的A活动而不是用'startActivity(..)'调用B,用'startActivityForResult(intent,SOME_ARBITRARY_REQUEST_CODE)来调用它;'当你的B活动结束时,它会用你使用的同一个'requestCode'调用A的'onActivityResult'要调用B.'data.getExtra(..)'将包含您在B中输入的值;) – nullpotent

+0

好的,谢谢 – MDP

相关问题