2

我正在開發一個android應用程序。我有一個標籤導航模式的操作欄,以及三個調用片段的選項卡,可以在frameview容器中進行替換。Android-在選項卡(選項卡導航操作欄)之間切換按鈕切換?

我的問題是:如果該用戶生成返回堆棧而在一個標籤,然後切換到另一個選項卡中,如果後退按鈕在本國有然後返回堆棧彈出按下,但的標籤不改變 ,這導致重疊片段(屬於Tab1的後臺片段被彈出/添加,但Tab2仍然被選中,片段也被選中)。

有沒有辦法讓actionbar選項卡對後退按鈕的響應方式與平行的fragment backstack相同?

回答

2

我解決它通過將突出部與名稱我選擇在TabListener返回堆棧(addBackStack("MainTab");),然後覆蓋了onBackPressed()方法在活動時,標籤會當返回堆棧彈出改變(識別通過獲得頂部BackStackEntry的名稱)並相應地使用actionBar.setSelectedNavigationItem(position)

+1

你能提供你的代碼嗎? – Tim

+0

我解決了它。對於感興趣的人:''FragmentManager.BackStackEntry bE = getFragmentManager()。getBackStackEntryAt(getFragmentManager()。getBackStackEntryCount() - 1); \t String nameOfTopBackEntry = bE.getName(); // NAME,你提供了addToBackStack(NAME);'' – Tim

1

而不是使用addToBackStack(),請覆蓋您的活動中的onBackPressed()方法以定製您希望後退鍵行爲的方式。

相關問題