我对Intents和putExtra
有疑问。
我想要做的是:
在活动A中(它不是我的MainActivity
),当我点击一个按钮时,它将关闭我的所有活动,发送一个字符串并启动我的主要活动。为了测试目的,它将显示一个测试对话框我的字符串。到现在为止一切顺利,按照我需要的方式工作。
问题在于,如果我重启我的MainActivity
(我需要这样做,它就像购物清单,我需要开始一个新的购物清单)与{{{} 1}}字符串再次显示。
以下是我的代码段:
在活动A中:
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
答案 0 :(得分:3)
替换
Intent intent = getIntent();
finish();
startActivity(intent);
与
Intent intent = new Intent(this, ActivityB.class);
finish();
startActivity(intent);