2014-09-22 20 views
1

我目前正在嘗試將數據從子活動發送回其父活動。我已經使用startActivityForResult()去參加我的孩子活動。然而,我不明白我會怎麼做才能將我想要回復的數據放回原處,並讓我的父母活動收到它。我一直在看不同的例子,但我認爲它只是拋出結果變量。關於如何使用startActivityForResult向前一個活動發送數據的說明

按我的理解,這是我用來當我回到我的孩子活動同父活動:

  String somestring = "somevalue"; 
     Intent i = getIntent(); 

     setResult(RESULT_OK, i); 
     finish(); 

我要加載的字符串somestring的內容爲它要返回父活動。 我怎樣才能將它加載回我的父母活動?

  startActivityForResult(intent, 1); 

最後,如何在onActivityResult的父級活動中捕獲數據?

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data){ 
    super.onActivityResult(requestCode,resultCode,data); 


} 

回答

4

您的數據添加到意圖,就像你在任何其他情況:

Intent intent=new Intent(); 
intent.putExtra("ComingFrom", "Hello"); 
setResult(RESULT_OK, intent); 
finish(); 

在你的其他活動,然後檢索它onActivityResult

@Override 
public void onActivityResult(int requestCode,int resultCode,Intent data) 
{ 
    super.onActivityResult(requestCode, resultCode, data); 
    String extraData=data.getStringExtra("ComingFrom")); 
} 
相關問題