簡體   English   中英

如何防止屏幕旋轉時重新啟動片段?

[英]How to prevent restarting fragment while screen rotation?

我有一個在viewPager中使用的webView片段。當我旋轉設備屏幕時,webview再次開始加載網頁。旋轉后該片段重新啟動。我不希望webView一旦加載就再次加載。如何避免重新加載屏幕旋轉時碎片。

通常有三種方法可以做到這一點:

1.根據一些答案的建議,您可以區分首次創建活動並從saveInstanceState恢復活動的情況。 這是通過覆蓋onSaveInstanceState並檢查onCreate的參數來完成的。

  1. 您可以通過在清單中添加android:screenOrientation="portrait" (或"landscape" )來將活動鎖定為一種方向。
  2. 您可以通過在標記中指定android:configChanges =“ orientation | screenSize”來告訴系統您打算自己處理屏幕更改。 這樣,將不會重新創建活動,而是會收到回調(您可以忽略該回調,因為它對您沒有用)。 我個人會選擇(3)。 當然,如果將應用程序鎖定為一種方向就可以了,那么您也可以選擇(2)。

嘗試這樣:

setRetainInstance(true);

OnDestroy()將不再被調用,您的數據將被保留。

暫無
暫無

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

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