您好我遇到的问题是将数据从第二个活动发送到第一个活动
Intent i=new Intent();
i.setClass(SecondActivity.this,MainActivity.class);
Toast.makeText(SecondActivity.this, "this is second activity", Toast.LENGTH_SHORT).show();
String name=ed1.getText().toString();
i.putExtra("ok",name);
setResult(RESULT_OK, i);
startActivity(i);
我们如何才能重温第一项活动的数据
答案 0 :(得分:0)
以下是从第二个活动中获取数据的工作示例。
//First activity
private static final int PLAY_GAME = 1010;
@Override
protected void onActivityResult(int requestCode,
int resultCode, Intent data) {
if (requestCode == PLAY_GAME && resultCode == RESULT_OK) {
String getData = data.getExtras().getString("returnStr");
}
super.onActivityResult(requestCode, resultCode, data);
}
//second activity
Intent i = getIntent();
i.putExtra("returnStr", data);
setResult(RESULT_OK,i);
finish();
答案 1 :(得分:0)
首先,在你的第一个活动中定义一个变量(100只是随机的,选择你想要的任何东西):
private static final int SECOND_ACTIVITY = 100;
然后在你的第一个活动中你开始第二个活动:
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent, SECOND_ACTIVITY);
还会覆盖第一个活动中的onActivityResult:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SECOND_ACTIVITY) {
if (resultCode == RESULT_OK) {
String foo = data.getStringExtra("foo");
}
}
}
当您完成第二项活动时,会为您提供数据,如下所示:
Intent data = new Intent();
data.putExtra("foo", "bar");
setResult(RESULT_OK, data);
finish();