DialogFragment 无法识别 finish() 方法

DialogFragment not recognizing finish() method

你好最终我想要做的是在屏幕上显示一个 DialogFragment 以确认用户想要退出应用程序。如果用户说他们确实希望关闭该应用程序,该应用程序将关闭。如果用户不这样做,DialogFragment 就会消失。

我看到在onClick方法中调用了finish()方法。但是,这对我不起作用。

exitDialog.setPositiveButton("Shutdown", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            //Exit the app.
           finish();
        }
    });

我得到的错误是 "finish()" 无法解决。我想知道这个问题是否与我在 DialogFragment class 中使用 finish() 这一事实有关?还是其他原因?

谢谢

片段没有 finish()。你可能想完成整个 activity:

getActivity().finish()

finish() 是属于 Activity.

的方法

尝试使用:

getActivity().finish();

您可以使用:

  1. getDialog().dismiss();关闭对话框
  2. getActivity().finish();完成当前 Activity.