2012-03-18 58 views
0

之前启动的意图我有两个活动:活动A和活动B:如何摆脱活动B赖以起家的Activiy A,当活动A被

“A”是我的主要活动,并有一个按钮到活动B和'B'有一个按钮到'A'。现在是我的问题如何我可以发现用户来自活动B.

当我使用“getIntent()”它是来自主要活动的意图,但我需要活动B的 意图。

谢谢!

回答

2

当您从活动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”);

+0

但这导致一个NullPointerException因为getIntent( )方法返回启动活动A并且不是活动B的意图。 – user1128895 2012-03-18 19:02:31

+0

是的。因此,您必须创建活动B的意图实例 – Som 2012-03-18 19:07:30

+0

这是如何工作的? 感谢您的回答 – user1128895 2012-03-18 19:17:04

2

尝试这种

活动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); 
相关问题