2013-05-17 32 views
0

我有一個主詳細片段佈局,看起來像這樣:Android的主 - 從片段保留細節狀態

enter image description here

當從列表視圖數目被選擇詳細視圖變化值(即單選按鈕文本更改)。我遇到以下問題:當我在列表視圖中單擊數字1並在詳細信息視圖中選擇選項1,然後在列表視圖中單擊不同數字時,詳細信息視圖選項已設置。如果那時我選擇不同的選項並返回到列表視圖1,那麼設置最後的選項(即,我的先前選擇不是持續的)。

如何確保我的單選按鈕選項在列表視圖選項中保持不變,並且以前的單選按鈕選項不會影響下一個單選按鈕選擇?

我目前的做法是在活動中有靜態數組,記錄每個列表視圖編號的選項選項。當我返回特定的列表視圖編號時,我會查看從數組中選擇的單選按鈕並相應地設置詳細視圖。但是之前的單選按鈕選項仍然在下一個單選按鈕組中設置。

回答

1

如果您在列表視圖中爲所有項目使用相同的細節片段,我認爲您應該將當前用戶的選擇保存到每個選擇更改的listview項目的Tag對象中。

在更改之前保存它(setTag()),並在getTag()爲非null時加載用戶對該項目的選擇。

或者,您可以在ViewPager中使用不同的相同(或不同)類型的片段,並使用ListView在頁面之間切換。在你的情況下,這可能會帶來一點負擔,但你可以免費獲得狀態保存,回溯等等。你也會得到更乾淨的代碼。我更喜歡這個解決方案。

+0

我遵循你的建議,並使用ViewPager。這使它變得更容易。謝謝。 – Asterisk