Android在多個Activity之間共享一個View

鴨脖發表於2012-08-26

前幾天遇到一個問題,我有一個View型別的元素,這應該是一個全域性變數,也就是說,多個Activity都可以訪問他並且修改他。那麼怎麼做呢?


想了幾天,剛開始準備通過intent在各個activity之間進行傳遞,但是發現不成功,因為intent和bundle存放的資料中,view好像放不進去。

然後我又想到可以使用Application物件,用他來儲存全域性的資料。所以我把View物件設定為Application物件的一個成員,但是我發現View物件的構造是需要Context物件的,對啊,沒關係,Application也對應著一個Context,所以我在Application中直接new了,但是報錯了,丟擲空指標異常。草,這你媽該怎麼辦呢!!!


後來靈機一動,我們可以這麼做啊:在第一個Activity啟動的時候,使用Activity對應的Context來建立一個VIew,然後用這個VIew來初始化Application的成員VIew,這樣不就通過這種方式將這個View設定成全域性變數了嘛!!!


通過實驗,我成功了!!!但是不要忘記,一個VIew只能對應一個parent,在你add之前,注意有沒有remove

相關文章