2018年7月17日 星期二

【Android Fragment】如何保留畫面上的操作選項

(因為是「Fragment」,所以這篇文章中的某些技巧與思考才會有存在的價值。)

簡單來說,一個Fragment如果被暫時從畫面上退到「Stack」中,當它從「Stack」中回到畫面上時,如何保留上次Fragment介面中的操作紀錄,例如輸入框輸入的資訊內容。

方法其實很簡單,Fragment內要有個「全域變數A」來承接onCreateView中第一次產生的View,當下次Fragment從Stack中回到畫面時,優先判斷順序就變成先判斷「全域變數A」是否為空值(不是直接進行LayoutInflater),如果不為空值就改讀取「全域變數A」做接下來的操作。

但是當再背景停留太久、整個Fragment的資料都被回收.....這種招數就不管用了。

話說回來,除非每次操作資料都即時進SQL,不然這種事情是無解的。(頂多確保Fragment能正常顯示而已。)

(真正的解答是乖乖使用Argument。)

沒有留言:

張貼留言