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

Gin*_*as_ 0 java methods android interface super

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

在线给我错误super,我完全理解为什么.但我该如何解决呢?

nha*_*man 5

super.onBackPressed在你的例子中指的是OnClickListener#onBackPressed,它不存在,因此你的错误.

你真的想要引用onBackPressed你的超Activity类.为此,请使用:

MyActivity.super.onBackPressed();
Run Code Online (Sandbox Code Playgroud)

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