2011-06-03 89 views
0

我正在爲Android 3.0+創建一個應用程序,該應用程序使用帶有選項卡的操作欄進行導航。我有2個選項卡,每個負載ListFragment:Android - Honeycomb - 操作欄選項卡和片段

Tab 1 Tab2 
A  B 
C  D 

其中A & C是在選項卡1和B & d列表項是在標籤2.

當前列表中的項目,如果你選擇TAB2,然後項目B新的ListFragment被加載到Tab2中當前列表片段的頂部。按回來將您帶回原始的Tab2內容。但是,如果您不按回,而是選擇Tab1,則會在您在Tab 2中加載的新內容的頂部看到Tab1的內容。所以我猜測還有更好的方法來做到這一點。我想在每個Tab中使用多個片段來減少每個選項卡中的代碼複雜性(例如onListItemSelected處理)。有沒有使用多個片段的另一種方法?我也試圖保存狀態,但我不知道如何分辨從用戶點擊回來(然後我想要恢復狀態)和用戶已選擇標籤1,然後再次選擇標籤2(我想要恢復狀態)。

感謝

+0

嗯,什麼是C和d? – CommonsWare 2011-06-03 17:33:38

回答

0

我有碎片和標籤的操作欄上的複雜性類似的鬥爭。在我看來,平板電腦的android仍然處於初級階段,並且存在各種問題(如您的問題和我遇到的問題),這些問題將在未來幾個月內解決。現在,我認爲你只需要自己處理一些複雜性,而不是依賴Android框架。

要更直接地回答您的第一個問題,我認爲您需要退後一步並在深入代碼之前思考功能。我可以給你一個潛在的解決方案(在活動中手動跟蹤你的片段,並通過ActionBar.TabListener接口簡單地添加和刪除片段)

另外,如果你想讓用戶從一個片段切換到另一個就像你在暗示的那樣,也許不應該使用後面的功能。如果用戶連續10次點擊標籤,會發生什麼?你是否想要後退按鈕讓用戶返回所有這些事件?我認爲後退按鈕應該只在導航系統非常順序時使用,「後退」是一個簡單的概念。查看所有使用製表符的Google應用程序以查看我在說什麼。