0
我有一個註冊活動,在其內部我有多個片段(步驟一步登記流量)..的Android片段轉變發生的應用程序進入後背景
在活動,我這個updateRegistrationStage()方法,該方法處理片段轉換..這裏是問題: 1)我點擊繼續按鈕,提交一些數據到服務器,並等待迴應.. 2)在我得到任何迴應之前,我按Home按鈕,所以應用程序進入背景.. 3 )然後,我得到了答覆,並應該跳轉到下一個片段...在這一點上,我打電話:
transaction = fm.beginTransaction();
transaction.add(R.id.registration_container, newFragment, newFragment.toString());
transaction.commit();
和應用程序崩潰..扔
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
如果我最後一行改爲
transaction.commitAllowingStateLoss();
它會說
java.lang.IllegalStateException: Activity has been destroyed
我認爲這是可能的例如設置一個標誌isActivityAlive確保在活動仍然存在時進行事務提交......但是,這非常難看。當活動不再活動時,是否有更好的方式取消分段交易
你能給我更多的細節嗎?什麼應該是正確的流程/結構..例子? – xialin 2014-10-30 01:20:04
請看我上面的更新 – Tpec1k 2014-10-30 07:58:21