2016-09-24 77 views
0

我在一個活動中有幾個片段。在主要活動中,我實現了popBackStack();函數onBackPressed();功能,以便您可以隨時返回上一個片段點擊返回按鈕。但是popBackStack();不會刪除我剛剛離開的片段。如何實現每次刪除當前片段,我們點擊返回按鈕?使用popBackStack()刪除片段;

+0

你如何加載碎片?你打電話addToBackStack()?如果是這樣,你不需要實現onBackPressed(),因爲Android爲你做了這個。 –

+0

正如代碼學徒告訴的那樣,如果在片段事務中正確添加片段。那麼你不需要特別彈出這個片段。 popbackStack一般用於按鈕和點擊以外的其他按鈕 –

+0

看這裏的答案:http://stackoverflow.com/questions/34025331/how-can-i-control-the-activitys-up-button-from-a -contained-fragment –

回答

1
public void removeFragmentbyTag(String myFrag){ 

FragmentManager manager = getActivity().getSupportFragmentManager(); 
FragmentTransaction trans = manager.beginTransaction(); 
trans.remove(myFrag); 
trans.commit(); 
manager.popBackStack(); 
} 

希望這一點的代碼可以幫助你。

+0

如何使用onBackPressed函數在MainActivity中獲取片段標記? – Tomek

+0

當您將片段添加到主要活動時,爲每個片段添加片段標記 – Vij

+0

getFragmentManager()。beginTransaction()。add(R.id.fragment_container,fragmentToBeadded,tag).commit();其中標記是字符串 – Vij