我们如何使用intent将数据从第一个活动发送到第二个活动,将第二个活动发送到第一个活动bu

时间:2016-05-27 11:50:59

标签: android

您好我遇到的问题是将数据从第二个活动发送到第一个活动

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

我们如何才能重温第一项活动的数据

2 个答案:

答案 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();