2013-06-21 54 views
3

我正在構建一個需要驗證的小應用程序。在我的主要活動中,我有一個名爲「user」的Parcelable類,其中包含用戶的用戶名和密碼,當用戶單擊某個按鈕時,它會啓動一個傳遞該用戶類的新活動。它的作用就像一個魅力,在兒童活動中,用戶填寫表單進行認證,然後當用戶按下後退按鈕時,我想將「用戶」類發回我的主要活動。如何將Parcelable對象從子項傳遞給父項目?

是否有可能這樣做?

+0

http://androidhub.wordpress.com/2011/08/03/android-intents-for-passing-data-between - 活動部分-3 /。檢查這可能會幫助 – Raghunandan

+0

感謝您的答案,但我已經知道如何發送數據從父母到孩子activity.What我想知道的是,如何將數據從孩子返回到父按活動時按下後退按鈕? –

+0

使用'startActivityForResult'並覆蓋'onActivityResult'。 – Raghunandan

回答

11

開始與你的孩子的活動:

startActivityForResult(startIntent, 1); 

在你的孩子的活動,攔截返回按鈕和追加數據:

@Override 
public void onBackPressed() { 
    Intent data = new Intent(); 
    data.putExtra("key", yourDataHere); 
    setResult(Activity.RESULT_OK, data); 
    super.onBackPressed(); 
} 

,並獲知在父活動內的數據onActivityResult

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

    if(requestCode == 1 && resultCode == Activity.RESULT_OK){ 
     DataType yourData = (DataType) data.getParcelableExtra("key"); 
     //Do whatever you want with yourData 
    } 
} 
+0

非常感謝!你解決了我的問題:) –

相關問題