2013-07-27 33 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

伟大的工作,谢谢!我用了很长一段时间,现在我没有注意到当我实施别的东西时。再次,谢谢! –