2011-11-21 70 views
3

在回答這個問題時,請考慮到我是Android新手。運行時異常:發送失敗結果

在我的應用程序活動A明確要求活動B,其具有與從用戶(即,一個日期)一些數據提供它。 活動B當用戶按下完成按鈕時返回。

但是在用戶按下回到按鈕的情況下,我得到的是一個運行時異常故障提供結果

任何線索?

+0

你可以發佈導致問題的代碼嗎? – razlebe

+0

我甚至不知道應該發佈什麼代碼... – GionJh

+0

如果是這樣的話,我建議你首先需要做一些調查來縮小問題的範圍。 – razlebe

回答

5

最有可能的問題是,你需要檢查在活動A.取消的結果

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

    if (resultCode == Activity.RESULT_CANCELLED) { 
     // Do something 
    } 
} 
+0

是的,這是問題,謝謝。 – GionJh

+0

沒問題。很高興工作! – GrimmRanger

2

您是否熟悉了活動生命週期?您需要確保一切都在適當的生命週期方法中進行。例如,如果您在onStart()中打開某種類型的媒體並忘記在onStop()中關閉它,則可能會遇到運行時異常。

很難說沒有查看代碼的原因是什麼,但我建議查看活動生命週期並進行所需的更改。如果你仍然有問題,請給出一個代碼示例。 Logcat應該告訴你哪一行代碼導致了異常,你能至少包含那部分嗎?

http://developer.android.com/images/activity_lifecycle.png

Android Activity Lifecycle

+0

感謝您的回答。 – GionJh

3

我發現,即使我檢查發送resultCode = = Activity.RESULT_OK,它仍然有錯誤。我解決了這個用的,而不是做:

setResult(Activity.RESULT_CANCELED); 
finish(); 

我不得不這樣做:

setResult(Activity.RESULT_CANCELED, new Intent()); 
finish(); 

我也有過這種方法添加到onBackPressed()。

相關問題