2013-07-27 34 views
0

我遇到意向問題,並且putExtra。 我想要做的是這樣的: 在活動A(它不是我的MainActivity),當我點擊一個按鈕時,它會關閉我所有的活動,發送一個字符串並啓動我的主要activity.For測試目的它會顯示一個測試與我的絃樂對話。到現在爲止都很好,按我的需要工作。意圖putExtra持續存在

問題是,如果我重新啓動MainActivity(我需要這樣做,它就像購物清單,我需要開始一個新的購物清單),putExtra字符串的對話框再次顯示。

這裏是我的代碼片段:

在活動答:

@Override 
public void onClick(View v) { 
    Intent intent = new Intent(Gestionarez.this, MainActivity.class); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_NO_ANIMATION); 
    intent.putExtra("paramName", str); 
    startActivity(intent); 
    // TODO Auto-generated method stub 
    dialog.dismiss(); 
    dialog.cancel(); 
} 

在我MainActivity

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    LoadPref(); 

    Bundle extras = getIntent().getExtras(); 
    if (extras != null) { 
     String myParam = extras.getString("paramName"); 
     ShowAlertMessage(this, "TEST", myParam + ""); 

    } else { 

    } 

} 

這也是我如何重新啓動我的MainActivity當我需要啓動一個新的購物清單:

Intent intent = getIntent(); 
finish(); 
startActivity(intent); 
+0

嗯......當然,你只要在同一個意圖通過使用getIntent通過() –

回答

3

更換

Intent intent = getIntent(); 
       finish(); 
       startActivity(intent); 

Intent intent = new Intent(this, ActivityB.class); 
       finish(); 
       startActivity(intent); 
+0

偉大的工作,謝謝!我用了很長一段時間,現在我沒有注意到當我實施別的東西時。再次,謝謝! –