我在 Intents 和 putExtra
方面遇到问题。
我想做的是这样的:
在 Activity A(不是我的 MainActivity
)中,当我单击按钮时,它将关闭我的所有 Activity ,发送字符串并启动我的主要 Activity 。出于测试目的,它将显示一个测试对话框,其中包含我的string.到目前为止一切都很好,可以按照我的需要工作。
问题是,如果我重新启动我的 MainActivity
(我需要这样做,它就像一个购物 list ,我需要启动一个新的购物 list )带有 的对话框putExtra
字符串再次显示。
这是我的代码 fragment :
在 Activity 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 {
}
}
这就是当我需要开始新的购物 list 时重新启动我的 MainActivity
的方法:
Intent intent = getIntent();
finish();
startActivity(intent);
最佳答案
替换
Intent intent = getIntent();
finish();
startActivity(intent);
与
Intent intent = new Intent(this, ActivityB.class);
finish();
startActivity(intent);
关于java - Intent putExtra 持续存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17901596/