我一直在努力將我的應用程序從多個活動更改爲單個活動和多個碎片。我有多個片段和單活動A.Android碎片saveInstanceState
其次是我的情況下,當應用程序有多個活動。
- 活性A - >活動B - >活動Ç - >活動d
- Web請求在所有活動發送用於在背景每60secs,然後將UI更新。
- 我送只在
onResume()
方法請求,並取消在onPause()
方法的要求和計時器,因爲其中僅可見活動發送請求和別人不一樣。 - 我在
onSaveInstanceState(Bundle savedInstanceState)
保存一個布爾值來檢查請求是否爲第一時間派出。只有當我第一次顯示進度條,然後繪製視圖。如果沒有(如果活動從後退棧中恢復),則進度條不顯示,並且僅在成功響應時才更新UI。 - 我從活動A移動到B.現在活動A的
onPause()
方法中取消了Web服務請求。在活動B的onResume()
中再次調用Web服務,顯示進度條(因爲它的第一次活動加載)並且繪製視圖。工作全部類似於活動A. - 從活動B中,我按下了後退按鈕,活動A恢復。因此,Web服務從ActivityA的
onResume()
方法發送。這一次我檢查savedInstanceState不爲空,因此我不顯示進度欄(以允許用戶仍然繼續活動B)。
以下是實現單活動和多重片段後,我在做什麼現在。
- 我不會更換任何片段。我只是添加它們。
- 由於僅添加它們,所有片段都在時間間隔內主動發送Web服務。
- 如果我替換片段而不是添加它們,視圖將從第一個創建,這不是我所需要的。
我怎樣才能做到這一點?提前致謝!!
是的。這或多或少是我所做的。我有一個單獨的活動,使用PagerAdapter和ViewPager作爲主選項卡在片段之間滑動。然後,每個其他選項卡都會在整個屏幕上添加一個片段。選擇另一個選項卡會替換當前片段。 – cYrixmorten