2011-01-20 52 views
1

我的應用程序包含2個部分:網絡部分和GUI。它的工作原理類似於瀏覽器 - 用戶從服務器請求一些信息,服務器發送一些代表某個視圖的數據,然後GUI顯示它。Android,保持視圖

現在我已經實現了網絡部分作爲服務,它構建並保持所有視圖本身。當一個活動被創建時,網絡部分將它的內容視圖設置爲最後收到的視圖。

這很簡單,不需要重新創建所有視圖層次結構並保存所有狀態。

但有問題 - 我可以在服務上下文中創建視圖,我可以保持它們在活動啓動之間,當活動被破壞和創建時可以解除綁定和重新綁定視圖?但某些視圖需要Activity上下文(例如,創建彈出對話框的Spinner)。

那麼,有什麼方法可以在創建後更改視圖的上下文嗎?

我在android編程方面很新穎,所以可能有更好的方法來做到這一點(再次,任務是 - 保持視圖層次結構和所有的狀態,當活動beeing銷燬和重新創建,當發生屏幕旋轉時,例如)。

回答

1

我堅信你在錯誤的方式與「我已經實現網絡部分作爲服務,它構建並保持所有的意見本身。」「。

這是Activity只是意圖有/管理視圖層次結構。因此,Activity應詢問Service(或以某種方式通知Service)要顯示的數據,然後只更新其視圖。是的,在某些情況下,它需要國家管理,但你獲得的好處 - 它只是按預期工作,沒有任何黑客。換句話說 - 不要試圖欺騙操作系統,而是嘗試對應於Android的最佳實踐。

+0

因此,無法重用視圖,它們都必須在活動開始時重新創建? – note173 2011-01-21 09:31:02