2014-09-06 167 views
0

所以我有一个疑问,我有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,所以我不知道,谢谢。

+0

也许从onActivityResult返回不会像你怀疑的那样返回这个Intent(我打赌你返回的Intent设置不正确,或者像你期望的那样返回)。使用全局存储机制来使这个更简单(像SharedPrefs)。 – Booger 2014-09-06 13:52:56

+0

正如我在下面回答的,如果我使用SharedPrefs,我将如何知道何时返回到第一个活动? – 2014-09-06 13:54:43

+0

在第一个活动的onCreate方法中,您将从SharedPrefs获取值(并且您将知道您处于第一个活动中,因为您在活动中)。基本上,将知道,因为你的应用上下文已切换回第一个活动。 – Booger 2014-09-06 13:58:04

回答

0

对不起,但我怀疑你的程序发送数据从第3到第1 Activity.If数据是简单的字符串或整数。您可以使用共享偏好关注链接

How to use Shared preference

Edit Shared Preference

你为什么不还完第一项活动,并通过意图启动同一活动的新实例?

+0

是的,我被告知我可以使用共享首选项,但是如何知道我什么时候返回到第一个活动?我刚刚开始使用android,所以我仍然在学习 – 2014-09-06 13:53:44

相关问题