获得错误说我必须覆盖超类方法,但是父类具有要覆盖的方法

时间:2013-08-02 13:33:18

标签: java android

我得到了一个 “当试图从facebook sdk编译代码时,methed startActivityForResult(Intent,int)必须覆盖一个超级类”。

我之前询问过这个问题并得到了皇帝的消息,因为他们不是超级的替代。

我查看了Facebook示例代码,看看它是否有一个要覆盖的类,它确实如此。 我可以拿出这条线来消除错误。

我想知道是否有人可以解释为什么我看到错误没有退出时会出现此错误。 (我还在学习java从未有过课程) 代码:

interface StartActivityDelegate {
    /* THIS IS THE METHED THAT’S BEING OVERIDE BELOW AND 
     * I GET A ERROR MESSAGE DON’T UNDERSTAND WHY I’M GETTING
     *THE ERROR MESSAGE WHEN THE SUPER METHOD EXISTS */

    public void startActivityForResult(Intent intent, int requestCode);

    public Activity getActivityContext();
}

void setContext(final Context context) {
    this.context = context;
    // We rely on individual requests to tell us how to start an activity.
    startActivityDelegate = null;
}

void setContext(final Activity activity) {
    this.context = activity;

    // If we are used in the context of an activity, we will always use that activity to
    // call startActivityForResult.
    startActivityDelegate = new StartActivityDelegate() {
        /* THIS IS WHERE I GET THE ERRROR MESSAGE
         * “The methed startActivityForResult(Intent,int) must override a
         * superclass methed”*/
        @Override
        public void startActivityForResult(Intent intent, int requestCode) {
            activity.startActivityForResult(intent, requestCode);
        }

        @Override
        public Activity getActivityContext() {
            return activity;
        }
    };
}      

1 个答案:

答案 0 :(得分:1)

在Java 1.5中,不允许在实现接口方法的类方法上使用@Override。这似乎是你的情况