2 回答

TA貢獻2039條經驗 獲得超8個贊
在您的片段中使用getActivity().onBackPressed();它將執行onBackPressed()您的父活動
更準確地說
Activity activity = getActivity();
if (activity != null) {
activity.onBackPressed();}
編輯:用于requireActivity()避免空指針
requireActivity().onBackPressed();

TA貢獻1884條經驗 獲得超4個贊
onBackPressed 回調由您的父活動處理。因此您可以覆蓋父活動的回調
XyzActivity.java:
@Override
public void onBackPressed() {
handleBackPress();
}
public void handleBackPress() {
Fragment visibleFragment = getSupportFragmentManager().findFragmentById(R.id.fragmentFrameLayout);
if (visibleFragment == null) {
return;
}else if (visibleFragment instanceof PreviewFragment) {
CommonFunctions.showDialogActionable(this, "Confirm", "Are you sure you want to exit?",
"Yes", (dialogInterface, i) -> {
finish();
}, "No", null, "", null, true);
return;
}else
finish();
super.onBackPressed();
}
添加回答
舉報