Tu es débutant en Java alors, pas juste sur Android
En Java, une classe dite "abstraite" oblige ses filles à implémenter certaines méthodes, celles marquées "abstract" (abstraite).
La classe "FacebookCallback" est abstraite (selon le message d'erreur, je n'ai jamais manipulé le SDK Facebook). Il est donc nécessaire d'implémenter les méthodes abstraites de celle-ci.
Tu as plusieurs moyens de le faire :
- passer par une classe anonyme
- passer par une classe nommée interne
- passer par une classe nommée externe
Ta ligne
new com.facebook.FacebookCallback<LoginResult>()
sera modifiée comme suit (suivant le choix).
Classe anonyme :
1 2 3 4 5 6
| LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onCancel() {
// code pour gérer le cancel ici
}
}); |
Classe interne nommée :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
public class MonActivity {
...
public void onCreate(Bundle bundle) {
...
LoginManager.getInstance().registerCallback(callbackManager, new MyFacebookCallback());
...
}
class MyFacebookCallback extends FacebookCallback<LoginResult> {
@Override
public void onCancel() {
// code pour gérer le cancel ici
}
}
...
} |
Classe externe nommée :
Revient à extraire la classe "MyFacebookCallback" de l'exemple précédent et la mettre dans son propre fichier "MyFacebookCallback".
Je vois, dans la doc de FB, qu'il y a deux autres méthodes : onSuccess(Object) et onError(FacebookException). Tu auras sans doute à les implémenter aussi, je pense.
Partager