2012-03-18 37 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); 
相關問題