Java 将值从第三个活动传递给第一个活动

Java 将值从第三个活动传递给第一个活动,java,android,Java,Android,所以我有一个疑问,我有3个活动,在第一个活动中,我向第二个活动发送一些数据,在第二个活动中,我向第三个活动发送一些数据,并完成第二个活动,有没有办法完成第三个活动并从第三个活动向第一个活动发送一些数据 这就是我在第一个活动中所做的 mStartGame.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { In

所以我有一个疑问,我有3个活动,在第一个活动中,我向第二个活动发送一些数据,在第二个活动中,我向第三个活动发送一些数据,并完成第二个活动,有没有办法完成第三个活动并从第三个活动向第一个活动发送一些数据

这就是我在第一个活动中所做的

  mStartGame.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent i = new Intent(view.getContext(), GameInProgress.class);
            i.putExtra("questionObject", questions);
            startActivityForResult(i,DETAIL_REQUEST);
        }
    });
在第二个活动中,在我得到额外的数据后,我这样做是为了向第三个活动发送数据:

 Intent i = new Intent(view.getContext(), StatisticsActivity.class);
            i.putExtra("questionObject", questionInfo);
            startActivity(i);
            finish();
现在在第三节中,我得到了额外的内容,然后我:

Intent returnIntent = new Intent();
            isCorrect = true;
            returnIntent.putExtra("questionCorrection", isCorrect);
            setResult(RESULT_OK, returnIntent);
            finish();

我认为这会起作用,因为当我完成第三个活动时,第一个活动方法中的onActivityResult会起作用,但当我尝试访问额外的内容时,我会得到一个nullpointerexception,所以我不知道,谢谢。

对不起,伙计,但我怀疑你从第三个活动发送数据到第一个活动的过程。如果数据是简单的字符串或整数。您可以使用共享首选项跟随链接


为什么不通过intent完成第一个活动并启动同一活动的新实例

可能从onActivityResult返回时没有像您怀疑的那样返回此意图,我打赌您返回的意图设置不正确,或者像您预期的那样返回。使用全局存储机制使之像SharedPrefs一样简单。正如我在下面回答的,如果我使用SharedPrefs,我如何知道何时返回到第一个活动?在第一个活动中,在onCreate方法中,您将从SharedPrefs获得值,您将知道您处于第一个活动中,因为您处于活动中。基本上,我会知道,因为你的应用程序上下文已切换回第一个活动。是的,我被告知可以使用共享首选项,但我如何知道何时返回第一个活动?我刚刚开始使用android,所以我还在学习