Android返回主要活动并获取意图数据

时间:2013-06-07 00:23:54

标签: android android-intent

我正处于从我的主要活动开始的活动中,我正在返回主要活动但是在意图中有一些数据。我的主要活动在哪里返回,以便我可以获取数据?

            Intent intent = new Intent(getApplicationContext(), MyBetsWindow.class);
            intent.putExtra("BetName", betName);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);

3 个答案:

答案 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答案更合适。

祝你好运