亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用碎片清理回棧

使用碎片清理回棧

慕妹3146593 2019-12-10 13:04:48
我將Android應用程序移植到蜂窩上,為了使用片段,我做了很大的重構。在以前的版本中,當我按下“主頁”按鈕時,我通常會執行一次操作ACTIVITY_CLEAR_TOP以重置后退堆?!,F在我的應用只是一個帶有多個片段的Activity,因此當我按下Home按鈕時,我只是替換了其中的一個片段。如何不用startActivity與ACTIVITY_CLEAR_TOP標志一起使用就清除我的后堆棧?
查看完整描述

3 回答

?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

為@Warpzit的評論提供答案,并使其他人更容易找到。


采用:


fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);



查看完整回答
反對 回復 2019-12-11
?
莫回無

TA貢獻1865條經驗 獲得超7個贊

充分尊重所有有關方面;看到你們中有多少人可以用一個簡單的方法清除整個碎片堆,我感到非常驚訝


fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);


根據Android文檔(關于name論點-所主張的工作建議中的“空”)。


如果為null,則僅彈出最高狀態


現在,我的確意識到我不了解您的特定實現(例如,在給定的時間點,您在后臺堆棧中有多少個條目),但是當期望得到一個明確定義的答案時,我會全力以赴在更廣泛的設備和供應商中的行為:


(供參考,與此同時)


FragmentManager fm = getFragmentManager(); // or 'getSupportFragmentManager();'

int count = fm.getBackStackEntryCount();

for(int i = 0; i < count; ++i) {    

    fm.popBackStack();

}



查看完整回答
反對 回復 2019-12-11
  • 3 回答
  • 0 關注
  • 412 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號