2011-09-22 84 views
-1

我有4个活动A,B,C,D。我需要首先从活动“A”开始活动“A”(它由一个textview,按钮组成),然后从活动“A”开始活动“B”(借助按钮)。 ''''''&'D'activities(Condition:Button1(Activity'B')is hit then it should start Activity'C',Button2(Activity'B')被击中,那么它应该开始Activity'D')。StartActivityForResult

- 活动'C'包含一个EditText & a Button。 - 活动'D'包含一个EditText & a Button。

这里,当我在活动'C'&'D'的编辑文本中输入文本并点击按钮时,结果是输入的文本应该出现在活动'A'的TextView中。

Iam a Android初学者,Ple帮助我解决这个问题。 在此先感谢。

+0

不要忘记接受的答案,如果它可以帮助你 – Abhi

回答

0

试试这个: 使静态变量在活动 'C':

public static String text=""; 

然后读取数据的EditText转换成String按钮的的OnClick:

在您的按钮点击Activity'C”

text=edittext.getText().toString(); 
Intent i=new Intent(ActivityC.this,ActivityA.class) 
startActivity(in); 
finish(); 

在活动 'A'

集本文在方法的onResume值:

Protected void OnResume() 
{ 
super.OnResume(); 
textview.setText(Activity'c'.text) 
} 

这可能有助于you.ask任何疑问

+0

唯一的问题是在这里,你真的不能活动C或d是活跃你离开后计数。当然,他们会留在记忆中一段时间​​,但在某些时候他们会被杀死,并且可能马上就会出现。 – ryandlf

0

所以你想在某个时候从活动C,或d回的数据传递给?使用一个应用程序类(谷歌它),并从您的C或D活动中设置一个变量,然后在返回A并显示文本时调用该变量。

0

使用`startActivityForResult(),你可以这样做:

  1. startActivityForResult()为活性C活性B.
  2. startActivityForResult()
  3. 在活动c中点击按钮完成设置数据后的活动。
  4. 现在您将在活动B中拨打onActivityResult()。重复在B中设置数据并完成活动的过程。
  5. 现在您将在活动A中拨打电话onActivityResult(),您现在可以使用该数据。

同样的过程将是活动D.