如何在接口实例中调用super方法?

时间:2014-08-07 19:08:07

标签: java android methods interface super

@Override
public void onBackPressed()
{
    // ...
    dialog.setPositiveButton(getText(R.string.yes), new OnClickListener()
    {
        @Override
        public void onClick(DialogInterface dialog, int which)
        {
            super.onBackPressed();
        }
    });
}

super行给我错误,我完全明白为什么。但我该如何解决呢?

1 个答案:

答案 0 :(得分:5)

您的示例中的

super.onBackPressed指的是OnClickListener#onBackPressed,它不存在,因此您的错误。

您实际上想要引用超级onBackPressed课程的Activity。为此,请使用:

MyActivity.super.onBackPressed();

就像MyActivity.this引用封闭实例一样,MyActivity.super引用封闭实例的超类。