我有检查互联网是否连接的底页!如果未连接,则显示底页,如果未连接,则底页关闭。我使用bottomSheetDialog.dismiss();
功能来防止用户按下屏幕来隐藏底页。现在我想要的是用户如果在底部显示退出应用程序时按下回。
不要先退出bottocheet然后退出应用程序
这是我到目前为止所做的
我使用了一个名为IOnBackPressed的界面,并使用此代码覆盖了“MainActivty”中的退出应用程序
@Override
public void onBackPressed() {
Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.fragment_layout);
if (!(fragment instanceof IOnBackPressed)) {
super.onBackPressed();
}
}
我在底部表“HomeFragment”的片段中添加了退出应用程序方法
@Override
public boolean onBackPressed() {
bottomSheetDialog.dismiss();
requireActivity().moveTaskToBack(true); //exit the app when press back
requireActivity().finish();
return true;
}
但它不起作用,当我按下它时它不会退出应用程序。
这是我的bottomsheetdialog方法
private void showBottomSheetDialog() {
bottomSheetDialog = new BottomSheetDialog(requireContext());
bottomSheetDialog.setContentView(R.layout.bottomsheet_no_internet);
if (CheckNetwork.isInternetAvailable(requireActivity())) {
bottomSheetDialog.dismiss();
} else {
bottomSheetDialog.setCancelable(false);
bottomSheetDialog.show();
}
Button buttonNoInternet = bottomSheetDialog.findViewById(R.id.buttonNoInternet);
assert buttonNoInternet != null;
buttonNoInternet.setOnClickListener(v -> {
if (CheckNetwork.isInternetAvailable(requireActivity())) {
adapter.notifyDataSetChanged();
bottomSheetDialog.dismiss();
} else {
bottomSheetDialog.dismiss();
adapter.notifyDataSetChanged();
bottomSheetDialog.show();
}
});
}
那么我该怎么做呢?