我已經在setResult(RESULT_OK,intent)中工作了一段時間,並且遇到了一些奇怪的事情。setResult作品大部分時間爲
大部分時間,約我用下面的代碼這始終是執行從它進入一個活動,然後退出時間3/4:大部分
Intent intent = new Intent();
intent.putExtra(KEY_ENVIRONMENT_SURVEY, esurvey);
setResult(RESULT_OK, intent);
finish();
在活動中被送回,時間RESULT_OK被返回,但有時RESULT_CANCELLED被返回,看起來非常隨機。什麼可能導致這個?完成()可以在esurvey被附加之前被調用(它可以是parcelable),默認是RESULT_CANCELLED?如果是的話我該如何解決這個問題?使用處理程序並使用postDelayed或檢查是否設置了RESULT_OK(我不知道如何執行此操作,因此請指定這是否是解決方案)?
謝謝!
「如果某個子活動由於某種原因(例如崩潰)而失敗,則父活動將收到一個結果,其代碼爲RESULT_CANCELED。」 http://developer.android.com/reference/android/app/Activity.html – 2014-10-03 21:59:08
是的,但大部分時間裏,活動都會按照它的設想(在我看到的logcat中沒有什麼異常)。我想我需要進一步調查,看看這是否是原因。 – 2014-10-04 01:26:45