DialogFragment无法识别finish()方法

时间:2015-02-10 22:11:02

标签: java android fragment onclicklistener android-dialogfragment

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

我已经看到onClick方法中调用的finish()方法。然而,这对我不起作用。

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

我得到的错误是“finish()”无法解决。我想知道问题是否与我在DialogFragment类中使用finish()的事实有关?还是别的什么?

由于

3 个答案:

答案 0 :(得分:1)

finish()是一个属于Activity的方法。

尝试使用:

getActivity().finish();

答案 1 :(得分:0)

片段没有finish()。您可能想要完成整个活动:

getActivity().finish()

答案 2 :(得分:0)

您可以使用:

  1. getDialog()驳回();关闭对话框
  2. getActivity()结束();完成当前活动。