Android Fragment 監聽物理返回 back 鍵
阿新 • • 發佈:2019-01-10
在很多場景下,我們需要 Fragment 監聽物理 back 鍵,而不是 Activity,這個時候我們只能做一些處理,來讓 Fragment 攔截。
首先在 Fragment 中自定義回撥方法,如下:
public boolean onBackPressed() {
EventBus.getDefault().post(new ClosexxxxxEvent()); // 做我們想做的處理
return true; // return true 代表自己處理
}
然後,在 Activity 的 onBackPressed 方法中,進行相應的處理:
@Override
public void onBackPressed() {
if (mxxxxxxFragment == null) { // 獲取到你的 Fragment 例項
mxxxxxxFragment = (BaseFragment) getSupportFragmentManager()
.findFragmentById(R.id.xxxxxx)
.getChildFragmentManager().findFragmentById(R.id.xxxxx);
}
if (mxxxxxxFragment != null && mxxxxxxFragment instanceof xxxxxxFragment
&& !mxxxxxxFragment.isHidden()&& ((xxxxxxFragment) mxxxxxxFragment).onBackPressed()) { // 判斷是否是我們需要的 Fragment
return; // 攔截 Activity 的 back 監聽
}
super.onBackPressed();
}
完成!
------至所有正在努力奮鬥的程式猿們!加油!!
有碼走遍天下 無碼寸步難行
1024 - 夢想,永不止步!
愛程式設計 不愛Bug
愛加班 不愛黑眼圈
固執 但不偏執
瘋狂 但不瘋癲
生活裡的菜鳥
工作中的大神
身懷寶藏,一心憧憬星辰大海
追求極致,目標始於高山之巔
一群懷揣好奇,夢想改變世界的孩子
一群追日逐浪,正在改變世界的極客
你們用最美的語言,詮釋著科技的力量
你們用極速的創新,引領著時代的變遷
——樂於分享,共同進步,歡迎補充
——Any comments greatly appreciated
——誠心歡迎各位交流討論!QQ:1138517609
——CSDN:https://blog.csdn.net/u011489043
——簡書:https://www.jianshu.com/u/4968682d58d1
——GitHub:https://github.com/selfconzrr