我有一個使用藍牙的應用程序。我的UI顯示將由多個單獨的顯示組成,每個顯示都以碎片形式實現。其中一些比較複雜,我希望能夠根據方向重新排列顯示。如何在方向更改期間維護碎片數據?
我必須禁用活動關機,因爲如果我不掉線藍牙連接。
我嘗試了一些建議的步驟來嘗試和管理從風景到人像的方向轉換,反之亦然。使用捆綁將數據從舊的傳輸到新的藍牙。
如果我使用setRetainInstance(true);在我的Fragment中,我可以成功改變顯示而不會丟失藍牙連接,但是這個過程涉及到膨脹並創建新版本的佈局。來自前一個實例的信息不會傳遞給修訂後的佈局,並且新佈局處於非活動狀態(例如,按下按鈕可在屏幕上正確顯示,但不會更改父活動中的任何內容)。看來我正在創建一個未連接到Activity的新實例。
我也嘗試過測試方向並使用getRequestedOrientation()/ setRequestedOrientation()以編程方式更改方向。這使片段的數據保持相同的實例,但不會改變方向 - 我需要發出一個命令來重繪之後?
任何建議將受到感謝。