2011-12-26 177 views

回答

0

让你想打电话ActivityB从ActivityA 按照以下步骤

步骤-1在activityB设置结果

在ActivityB设置使用setResult()参见ActivityB

Intent intent = new Intent(); 
      intent.putExtra("hh", hour); 
      intent.putExtra("mm", min); 
      intent.putExtra("ss", sec); 
      intent.putExtra("am", am); 
      setResult(2, intent); 

步骤-2呼叫从ActivityA 在ActivityA activityB示例代码中的结果从activityA使用下面的代码呼叫activityB

startActivityForResult(activityBIntent,1); 

步骤3中写下你想在activityA

得到的结果从activityB后perfom时ActivityB完成控制会来调用acticity的onActivityResult()方法的逻辑(ActivityA)

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     // TODO Auto-generated method stub 
     super.onActivityResult(requestCode, resultCode, data); 
     if (requestCode == 1) { 

      if (resultCode == 2) { 
       int hour = data.getIntExtra("hh", 0); 
       int min = data.getIntExtra("mm", 0); 
       int sec = data.getIntExtra("ss", 0); 
       int am = data.getIntExtra("am", 0); 

      } 
} 
} 
3

使用本 在活动

Intent i = new Intent(this, NextActivity.class); 
startActivityForResult(i, SELECT_IMAGE); //SELECT_IMAGE is an static int value. 

这个代码结果

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK) { 
     switch(requestCode) { 
     case SELECT_IMAGE: 
       ///// write code here for your requirement 
     } 
    } 
    } 
0

试试你的活动从startActivityForResult()方法和onActivityResult()方法开始,检查您的活动是否完成。

0

试试这个

IN Activity_A

// Activity Callback Variable 
private static final int FROM_ACTIVITY_B = 2; 

// Now Start the Activity B from Activity A 
startActivityForResult(new Intent(Activity_A.this, Activity_B.class), FROM_ACTIVITY_B); 

IN Activity_B

// Now Place the following code when you want to pass the result to caller Activity which in our case is Activity_A 
Intent data = new Intent(); 
// Put some data in the intent if you want those in the Activity_A 
setResult(Activity.RESULT_OK, data); 
Activity_B.this.finish(); 

IN Activity_A

我们得到你所需要的Activity_A

覆盖onActivityResult的结果Activity_A
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

    if (resultCode == Activity.RESULT_OK) { 

     if (requestCode == FROM_ACTIVITY_B) { 
      // Intent data is the one you passed from the Activity_B 
      // Do whatever you want here... 
     } 
    } 
} 
+0

谢谢,我可以发送字符串数据从B的活动A? – RizN81 2012-01-02 13:23:28

+0

当然,将一个字符串值放入Intent数据中并在onActivityResult中检索它。 – 2013-07-13 10:41:18

相关问题