2017-04-17 85 views
-1

我有一個在recyclerView中顯示列表的片段。當我點擊其中一個項目時,我想要一個新的片段打開。這兩個片段都使用相同的數據庫,因此我在OnCreateView中獲得了我的ReadableDatabase,並且想要在onDestroyView中關閉它。那是正確的方法嗎? 此外,因爲我不希望用戶必須再次滾動我想保留我的舊片段,所以我想使用添加而不是事務,所以當用戶返回時,舊片段仍處於相同狀態。那也是正確的做法嗎?哪些生命週期事件在碎片中被調用?

回答

0

晴相同的事件作爲一個活動,但有一些不同之處:

source

0

生命週期爲一個片段事件如下:

(片段推出) - >onAttach - >onCreate - >onCreateView - >onActivityCreated - >onStart - >onResume - >onResume - >(Fragment Now Active) - > - >onStop - >onDestroyView - >onDestroy - >onDetach - >(片段毀)

你可以閱讀更多關於生命週期here

我會得到onCreate中的數據庫並在onStop中關閉它。您希望避免將任務放入onDestroy,因爲它更快速地執行。

+0

據我所知onStop:當用戶不再看到活動時調用,因爲另一個活動已經恢復並覆蓋這個活動。 我需要重新啓動數據庫,對吧? – newToEverything

+0

'onStop'回調附加到活動的onStop回調,但是,如果片段被移除或替換,它也會被觸發。 –

相關問題