我正处于从我的主要活动开始的活动中,我正在返回主要活动但是在意图中有一些数据。我的主要活动在哪里返回,以便我可以获取数据?
Intent intent = new Intent(getApplicationContext(), MyBetsWindow.class);
intent.putExtra("BetName", betName);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
答案 0 :(得分:2)
您可以使用 MainActivity.java 中的请求代码启动活动。
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, 1);
您可以通过这种方式从 SecondActivity 获取数据。
public void onActivityResult(int requestCode, int resultCode, Intent data) {
System.out.println("REQUEST CODE:" + requestCode);
switch (requestCode) {
case 1:
if (resultCode == RESULT_OK) {
String return data = data.getStringExtra("value");
// now you can used this data in this activity which is come in secondActivity
}
break;
default:
break;
}
}
现在 SecondActivity.java 你必须以这种方式将数据传递给 MainActivity.java 文件 例如,在保存按钮单击中,您必须传递所有这些数据。
Intent intent = new Intent();
intent.putExtra("value",et.getText().toString());
setResult(RESULT_OK, intent);
答案 1 :(得分:0)
你可以使用
主活动中的startActivityForResult
,并以onActivityResult
()方法处理结果。在MyBetsWindow中使用setResult
在结束之前返回结果。
答案 2 :(得分:0)
您可以在MainActivity中轻松执行以下操作:
@Override
public void onCreate(Bundle bundle)
{
super.onCreate(bundle);
...
Intent current = getIntent();
String betName = current.getStringExtra("BetName");
...
}
如果你唯一的目的是去另一个活动并收集一些数据,那么为了返回MainActivity,那么@Bolton答案更合适。
祝你好运