2011-12-26 176 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

相關問題