Исходник Android SDK Facebook не будет компилироваться с Eclipse Indigo - PullRequest
6 голосов
/ 07 февраля 2012

После окончательного получения Android Facebook SDK для правильного импорта благодаря this я обнаружил, что eclipse не распознает переопределение onclick в FbDialog.java:

mCrossImage.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        mListener.onCancel();
        FbDialog.this.dismiss();
    }
});

И не делаетон распознает переопределения onServiceConnected и onServiceDisconnected в реализации TokenRefreshServiceConnection ServiceConnection

@Override
public void onServiceConnected(ComponentName className, IBinder service) {
    messageSender = new Messenger(service);
    refreshToken();
}

@Override
public void onServiceDisconnected(ComponentName arg) {
    serviceListener.onError(new Error("Service disconnected"));
    // We returned an error so there's no point in
    // keeping the binding open.
    mAuthActivity.unbindService(TokenRefreshServiceConnection.this);
}

Все три метода в предупреждении говорят, что метод должен переопределить метод суперкласса.Я еще не модифицировал код.Я проверил, что Eclipse распознает типы как одинаковые в соответствующих суперклассах, и я попытался нажать control-shift-o для организации импорта, что было исправлено в этом ответе для аналогичной проблемы.

Эти переопределения являются частью SDK, а не отдельным проектом.Я настроил проект на использование Android SDK 2.2, как было показано в инструкциях Facebook, и 4.0.3, который теоретически должен быть совместим со всеми предыдущими версиями.Я еще не получил собственный код Facebook для работы.Как примечание стороны, я могу использовать банку вместо этого?Это сделало бы это намного проще.

Ответы [ 2 ]

15 голосов
/ 22 февраля 2012

Угадывание свойств вашего проекта -> Уровень соответствия компилятора Java установлен на 1,5, а не на 1,6 (или выше).

Измените это.

Почему javac не работает в аннотации @Override

2 голосов
/ 07 февраля 2012

Ленивое, быстрое и простое решение - удалить аннотации @Override. Правильным исправлением является проверка того, что проект компилируется в Java 1.5 или выше, использование «исправления свойств проекта» из Eclipse и, возможно, проверка того, что проект библиотеки Facebook использует тот же Android SDK для компиляции, что и ваш проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...