2012-08-03 62 views
4

我用一個操作欄創建一個應用程序,並且標籤轉到不同的網頁。當用戶點擊不同的選項卡時,我希望先前的選項卡網頁保持相同的狀態(即再次按下選項卡時不重新加載)。Android中的活動或片段?

最好的辦法是做什麼?單獨的活動?片段?一個活動中有多個網頁瀏覽量?

謝謝

回答

1

使用ActionBar中的選項卡,它允許您使用Fragments。當改變標籤時,片段將被替換,並且之前的片段將保存其內容。

Action Bar - Adding Navigation Tabs | Android Developers

+0

謝謝我試過這個,但我不能得到一個Web視圖在一個片段中,它只是打開一個單獨的瀏覽器並且標籤消失 – panthro 2012-08-03 11:35:13

+0

如何填充你的webview? – dilix 2012-08-03 11:40:05

+0

你的片段有一個onCreateView()方法來創建它的視圖,你可以使WebView成爲Fragment cla的一個靜態成員ss(作爲示例),這樣您將創建WebView一次,並且它將保持實例化並且具有與片段實例的生命週期無關的相同狀態。 – CSmith 2012-08-03 11:41:59

0

我認爲你必須在本地使用一個網頁流量和每個頁面的store content例如在DB,然後做出自己的一些導航欄和重裝通過導航欄的網頁視圖內容。 例如,導航欄可以像帶有按鈕子項的LinearLayout一樣進行整理。 如果您使用這種方式 - 例如,您可以使用Wi-Fi在家中下載10個網頁,然後最小化您的應用程序並散步,並在一段時間後(即使您使用其他應用程序),您可以恢復所有信息來自數據庫,但如果您只在標籤中使用片段,則由於內存不足可能會丟失頁面。

如果您在選項卡中使用片段或屬性 - 您不能確定以前的內容將被保存(但您仍然可以通過適配器和tabhost來做到這一點(有足夠的示例如何使用片段+製表符)

PS。這只是我的看法,我還沒有嘗試過,但我認爲當地的商店是解決您的問題的最佳途徑