OnClickListener () doit remplacer une méthode de super-classe?
Avec ce code:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
. . .
Button buttonAuthorizeUsers = (Button) findViewById(R.id.buttonAuthorizeUsers);
buttonAuthorizeUsers.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent configure = new Intent(OnDemandAndAutomatic_Activity.this, Configure_Activity.class);
OnDemandAndAutomatic_Activity.this.startActivity(configure);
}
});
J'obtiens:
La méthode onClick(View) de type nouveau point de Vue.OnClickListener(){} doit remplacer une méthode de superclasse
Il semblerait que ce problème est parfois causée par un Projet | Propriétés | Compilateur Java étant fixée à 1,5.
Bien que je suis presque j'avais eu ce problème avant, et il a changé à 1.6, en quelque sorte, c'ÉTAIT de 1,5 à nouveau.
CEPENDANT, que (changement à 1,6) ne permet pas de résoudre le problème. Je suis toujours le même message d'erreur, après le nettoyage, le bâtiment, et F11ing...???
source d'informationauteur B. Clay Shannon
Vous devez vous connecter pour publier un commentaire.
Je vous conseille de décocher la case "Activer les paramètres spécifiques d'un projet", cliquez sur "Configurer les Paramètres d'espace de travail..." et "Compilateur Niveau de Conformité" pour de 1,6 ou au-dessus. Sinon, vous devez le préciser à chaque fois.
Si vous avez besoin d'un niveau de conformité pour un projet spécifique, vous devez vérifier tous les autres projets qui ont besoin de niveau de conformité de 1,6 ou ci-dessus est fixé à cette.
Après tout est correctement installation - nettoyage des projets et redémarrer Eclipse. Eclipse peut être une chienne, à certains moments, - cela permet souvent de résoudre les problèmes pour moi.
Deux choses à considérer:
1) jetez un oeil à votre importations - êtes-vous sûr queView.OnClickListener
est importé, mais ne permet de direDialogInterface.OnClickListener
2)
OnClickListener
est en fait une interface, que vous êtes l'instanciation de façon anonyme. Alors, après tout lors de l'écriture de laonClick
méthode vous sont effectivement pas du remplacement d'une super méthode de classe, mais plutôt la mise en œuvre d'une méthode de l'interface. L'annotation des méthodes d'interface avec@Override
est une bonne pratique, mais cela a été introduit dans le JDK 6, ce qui signifie que, par les temps Android 1.5 ou 1.6 a été développé cela peut n'a pas encore été introduit pour le langage java et par conséquent le rendre d'une syntaxe non valide.Juste en dessous de la "Compilateur Niveau de Conformité", il y a quelques options grisées si l' "Utiliser la valeur par défaut des paramètres de conformité" case à cocher est cochée, à Savoir: "a Généré .catégorie fichiers de compatibilité" et "Source de compatibilité". Vérifiez que les deux personnes sont ensemble à 1.6 - Si non, que ce soit de modifier la valeur par défaut des paramètres de conformité, ou décochez cette case et de les modifier directement.
essayer de remplacer cette ligne
cette erreur vous avez reçu qui s'est passé lors de votre tentative de cessionnaire le Sur cliquez sur pour type inattendu !
Alors, croyez-moi Eclipse IDE plus de temps à importer DialogInterface au lieu de Vue donc écrire par vous-même.
daigoor est droit. Eclipse essaie toujours de faire ce " import android.contenu.DialogInterface.OnClickListener' au lieu de le faire this -> " import android.vue.Vue.OnClickListener'. Qui résout mon problème.