之前启动的意图我有两个活动:活动A和活动B:如何摆脱活动B赖以起家的Activiy A,当活动A被
“A”是我的主要活动,并有一个按钮到活动B和'B'有一个按钮到'A'。现在是我的问题如何我可以发现用户来自活动B.
当我使用“getIntent()”它是来自主要活动的意图,但我需要活动B的 意图。
谢谢!
之前启动的意图我有两个活动:活动A和活动B:如何摆脱活动B赖以起家的Activiy A,当活动A被
“A”是我的主要活动,并有一个按钮到活动B和'B'有一个按钮到'A'。现在是我的问题如何我可以发现用户来自活动B.
当我使用“getIntent()”它是来自主要活动的意图,但我需要活动B的 意图。
谢谢!
当您从活动B传递意图时,您必须创建一个新的itent,并且只需添加一些额外的数据即可识别它。与 一样,我们也希望能够通过这种方式来解决问题。我不知道。 (“c a l l e r”,“A c t i v i t y B”); s t a r t A c t i v i t y(i n t e n t);
然后在Activity A中使用getIntent()。getExtras()方法获取额外的数据。
like S t r i n g c l l e r r g e t I n t e n t()。 g e t S t r n e g E x t r a(“C a l l e r”);
尝试这种
在活动A(主要活动): -
@Override
public void onResume()
{
super.onResume();
if(getIntent().getStringExtra("fromActivtyB") !=null)
{
String str=getIntent().getStringExtra("fromActivtyB");
Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
}
}
和活动B:
Intent inten=new Intent(this,ActivitttestappActivity.class);
Toast.makeText(this, "Activty b", Toast.LENGTH_SHORT).show();
inten.putExtra("fromActivtyB", "Actiity B");
this.startActivity(inten);
但这导致一个NullPointerException因为getIntent( )方法返回启动活动A并且不是活动B的意图。 – user1128895 2012-03-18 19:02:31
是的。因此,您必须创建活动B的意图实例 – Som 2012-03-18 19:07:30
这是如何工作的? 感谢您的回答 – user1128895 2012-03-18 19:17:04