方法'onBackPressed()'无限递归,只能通过抛出异常来结束



方法'onbackpressed()'又递归,只能通过抛出任何停止它的例外方式结束吗?

尝试此代码

@Override
    public void onBackPressed() {
        if (getFragmentManager().getBackStackEntryCount() == 1) {
            showAlertDialog("Tap again to exit!", "Your_app_name");
        } else {
            getFragmentManager().popBackStackImmediate();
        }
    }

i表示ShowAlertDialog(),这是一种警报对话框的方法。您可以使用普通对话框。

通过此代码,当堆栈变为0时,它会弹出以获取警报以从应用程序中退出。否则它会弹出片段。

您正在构建对话框,但您没有创建并显示它。只需添加以下代码行,就可以了。

builder.create().show();

最新更新