Android 后退按钮不可用';显示AlertDialog时不工作
我想在按下“后退”按钮时销毁当前页面,但在显示AlertDialog时,“后退”按钮不起作用。Android 后退按钮不可用';显示AlertDialog时不工作,android,android-alertdialog,back-button,Android,Android Alertdialog,Back Button,我想在按下“后退”按钮时销毁当前页面,但在显示AlertDialog时,“后退”按钮不起作用。 我已经实现了如下所示的onBackPressed,但它仍然不起作用 private void showPopupSubscribe() { AlertDialog.Builder builder = new AlertDialog.Builder(this); View dialogView = getLayoutInflater().inflate(R.layout.paket_s
我已经实现了如下所示的onBackPressed,但它仍然不起作用
private void showPopupSubscribe() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
View dialogView = getLayoutInflater().inflate(R.layout.paket_subscribe, null);
builder.setView(dialogView);
builder.setCancelable(false);
builder.setIcon(R.drawable.logo_1);
builder.setTitle(R.string.confirm);
final RadioGroup radioGroup = dialogView.findViewById(R.id.rgSubscribe);
builder.setPositiveButton("Next", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
pd.show();
int selected = radioGroup.getCheckedRadioButtonId();
if (selected == R.id.rbMonthly) {
smsCode = "aa";
} else if (selected == R.id.rbTwoWeeks) {
smsCode = "bb";
} else if (selected == R.id.rbWeekly) {
smsCode = "cc";
} else if (selected == R.id.rbTwoDays) {
smsCode = "dd";
}
reqWebCharging(smsCode);
dialog.dismiss();
}
});
dialog = builder.create();
dialog.show();
}
@Override
public void onBackPressed() {
super.onBackPressed();
if (dialog.isShowing()) {
finish();
}
}
这样做
@Override
public void onBackPressed() {
if (dialog.isShowing()) {
finish();
else
super.onBackPressed();
}
}
当对话框显示时,您必须处理后退按钮的按下
dialog.setOnKeyListener(new Dialog.OnKeyListener() {
@Override
public boolean onKey(DialogInterface arg0, int keyCode,
KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK) {
dialog.dismiss();
finish();
}
return true;
}
});
另外,onBackPressed()应该是这样的
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
我的意思是onBackPressed方法不起作用,即使我调试这个应用程序并将断点放在onBackPressed旁边,然后当我按back按钮时,我的应用程序不会在断点处停止。当你按back按钮时会发生什么?什么都没有?我很高兴它起作用了,请把答案投上去,这样其他人也可以参考它