1

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

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

3 回答 3

2

您可以使用MainActivity.java中的请求代码启动 Activity 。

     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);    
于 2013-06-07T04:41:17.297 回答
0

You could use startActivityForResult in your main activity and process the result in onActivityResult() method. in MyBetsWindow use setResult to return the result before it finish.

于 2013-06-07T02:09:26.990 回答
0

您可以在 MainActivity 中轻松执行以下操作:

@Override
public void onCreate(Bundle bundle)
{
     super.onCreate(bundle);
     ...
     Intent current = getIntent();
     String betName = current.getStringExtra("BetName");
     ...
}

如果您的唯一目的是进行另一个活动并收集一些数据,以返回 MainActivity,那么@Bolton 的答案更合适。

祝你好运

于 2013-06-07T02:42:43.627 回答