3

我在MainActivity中管理兩個片段。當我想返回到前一個片段時,後退按鈕不起作用

其中之一是ListFragment的子類,用於顯示項目列表。

主要想法是當用戶點擊其中一個項目時導航到另一個列表視圖,並且當點擊返回按鈕時用戶可以返回到先前的列表視圖。

用於發送代碼到一個新的列表顯示如下:

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
NewFragment newFragment = new NewFragment(); 
newFragment.setArguments(getIntent().getExtras()); 
transaction.replace(R.id.fragment_layout, newFragment); 
transaction.addToBackStack(null); 
transaction.commit(); 

不過,我只是簡單地退出不是回到以前的視圖中的其他應用程序。 我在做什麼錯?

+0

我發現了一些simmilar,它工作正常,但後來我從supportfragmentmanager切換到正常的我猜的Android 4.0的非支持版本也許是破... ?? – boscowitch

+0

哦,我認爲在我的情況下,它是一個混合支持庫與正常的壞情況..因爲我不得不從支持片段管理器切換到支持PreferenceFragment ...我猜我必須切換回...並做一些哈希解決方法... – boscowitch

回答

-2

後退按鈕關閉頂部的活動,並不會回溯到您的Fragment歷史記錄中。你必須自己做,popBackStack()

0

不像活動,有片段,你必須明確地添加到「後退棧」。基本上,當你的應用程序顯示一個新的片段,你想返回到預覽片段時,你可以撥打FragmentTrasaction.addToBackStack()

當用戶按下後,框架會處理從背堆棧彈出碎片。如果你需要更復雜的東西,你可以覆蓋後退按鈕按下你的片段。這個問題涵蓋了,

Android Fragment handle back button press

+0

但我確實調用了transaction.addToBackStack(null),它仍然無法正常工作。 –

相關問題