簡體   English   中英

重新創建活動時,分離的片段會被附着嗎?

[英]When activity is recreated, detached fragment gets attached?

我有一個基於Xamarin Android ActionBar的應用程序。 我沒有使用任何人的compat庫(Sherlock等),每個選項卡都有一個片段。 我注意到以下行為:

假設用戶從帶有相應片段A的選項卡A開始。用戶切換到帶有相應片段B的選項卡B。我的代碼告訴應用程序分離片段A,然后附加片段B。到目前為止,一切都很好。 現在很奇怪。

假設用戶旋轉設備。 碎片都擺好了

this.RetainInstance = true;

而且我保持對它們的靜態引用。 所以他們堅持,這就是我想要的。 但是很奇怪的是,當旋轉后重新創建活動時,在我

base.OnCreate()

從MyActivity.OnCreate()調用。 這導致應用程序執行我認為不需要的工作。 所以我的問題是,如何防止這種情況發生?

您應該閱讀android指南。 您必須保存片段狀態和活動狀態,並且我想不要使用靜態鏈接和keepInstanceState。 Google如何使用Bundle和saveInstanceState,使用onCreate onRestoreInstancestate方法。 同樣,在重新創建之后,您可以按放置的標簽找到片段,然后重新使用它而無需替換。

http://developer.android.com/training/basics/activity-lifecycle/recreating.html

http://developer.android.com/guide/components/fragments.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM