0

我对 Intents 和putExtra. 我想要做的是:在活动 A(这不是我的MainActivity)中,当我单击一个按钮时,它将关闭我的所有活动,发送一个字符串并启动我的主要活动。出于测试目的,它将显示一个测试对话框与我的字符串。到目前为止一切都很好,可以按我的需要工作。

问题是如果我重新启动我的MainActivity(我需要这样做,它就像一个购物清单,我需要开始一个新的购物清单),带有putExtra字符串的对话框再次显示。

这是我的代码片段:

在活动 A 中:

@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);
4

1 回答 1

3

代替

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

Intent intent = new Intent(this, ActivityB.class);
                finish();
                startActivity(intent); 
于 2013-07-27T19:32:54.947 回答