2015-09-11 25 views
0

我開發了一個小應用程序,可以從我自己的鏈接讀取和rss xml文件。該應用程序運行良好。如何防止在RSS源加載時旋轉設備時出現錯誤

但是,我注意到,當我旋轉手機之前飼料加載完全應用程序崩潰。

另外,如果我在RSS源加載之後旋轉設備,Activity將重新加載該源。任何人都知道什麼或爲什麼會發生這種事故?

我想以下2個解決方案:

  • 部隊的活動是在縱向佈局的所有時間。

  • RSS feed加載後禁用旋轉,然後釋放。如果這是可能的話。

有什麼建議嗎?

對不起,延遲...以下是我得到的痕跡:

9月9日至15日:53:31.209 30468-30468/com.rrrrrrrr.xxxxxxxxxx E/ViewRootImpl:sendUserActionEvent()== MVIEW null 09-15 09:53:31.754 30468-30468/com.rrrrrrrr.xxxxxxxxxx E/ViewRootImpl:sendUserActionEvent()mView == null 09-15 09:53:31.769 30468-30468/com.rrrrrrrr.xxxxxxxxxx E/AndroidRuntime:致命異常:主要 09-15 09:53:31.769 30468-30468/com.rrrrrrrr.xxxxxxxxxx E/AndroidRuntime:進程:com.relentlessdev.maleadvise,PID:30468 09-15 09:53:31.769 30468- 30468/com.rrrrrrrr.xxxxxxxxxx E/AndroidRuntime:java.lang.IllegalArgumentException:View = com.android.internal.policy .impl.PhoneWindow $ DecorView {78a8658 VE .... R ..... ID 0,0-1696,464}不附加到窗口管理器

+1

也許解決方案3:修復您的代碼中的錯誤,使您的應用在旋轉設備時崩潰?除非你發佈了一些代碼和堆棧跟蹤,沒有人能夠幫助你。 –

+0

代碼沒有問題,但稍後我可以連接到PC時提供跟蹤信息。 – Mohammed

回答

0

我能想到的最好(因爲您沒有提供任何代碼片段)是你缺少與android活動相關的非常重要的一點。無論何時屏幕旋轉更改,都會從頭開始重新創建android中的活動再次創建活動時,最有可能在代碼中存在一些NullPointerException。有兩種方法可以在活動級別處理android中的屏幕旋轉。根據我的最佳解決方案將覆蓋

public void onConfigurationChanged(Configuration newConfig) 

爲活動類和自己處理旋轉。

+0

噢好吧...我不知道活動是重新創建的。我會研究它,看看如何處理。在這種情況下,列表的適配器很可能會拋出異常。今天晚些時候我會再試一次。 – Mohammed

0

當手機旋轉時,Android會殺死您的活動。每次手機旋轉時都會調用OnCreate。異常的原因是您的視圖依賴於尚未初始化的變量。

因此,您需要將提要數據保存到OnSaveInstanceState中的包中,並在OnRestoreInstanceState中檢索它。在你的OnCreate方法中,檢查傳遞給它的包是否爲null。如果它爲空,那麼該活動首次啓動,您需要從XML加載源數據 - 初始化您的變量。如果它不爲空,那麼手機已經旋轉,您可以簡單地從包中重新加載饋送數據 - 從從包中恢復的數據初始化變量。

相關問題