2016-11-20 7 views
0

Je suis débutant en développement Java. Je voudrais savoir pourquoi je l'erreur « méthode n'overridefrom pas sa superclasse »La méthode JAVA android Studio ne l'emporte pas sur sa superclasse

sur la déclaration de @Override.

Voici mon code

package fr.cif.cif_app; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ImageView; 
import android.widget.TextView; 

public class DashboardActivity extends Activity { 
    ImageView img = null; 
    TextView monTexte = null; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_dashboard); 

     img = (ImageView) findViewById(R.id.imageView8); 
     img.setOnClickListener((OnClickListener) this); 
    } 
    @Override 
    public void onClick(View v) { 
    /* Réagir au clic */ 

     // On récupère l'identifiant de la vue, et en fonction de cet identifiant… 
     switch(v.getId()) { 

      // Si l'identifiant de la vue est celui du premier bouton 
      case R.id.imageView5: 
    /* Agir pour bouton 1 */ 
       break; 

      // Si l'identifiant de la vue est celui du deuxième bouton 
      case R.id.imageView6: 
    /* Agir pour bouton 2 */ 
       break; 

      // Si l'identifiant de la vue est celui du deuxième bouton 
      case R.id.imageView7: 
    /* Agir pour bouton 2 */ 
       break; 



    /* etc. */ 
     } 

    } 
} 

J'ai lu quelques autres postes qui parlait des erreurs de frappe avec le nom de la fonction onClick ... mais je ne vois pas où est mon erreur .

Merci d'avance pour votre aide.

Répondre

0

oui, vous avez 2 erreurs:

  1. Class cast Exception: img.setOnClickListener((OnClickListener) this);. A cette ligne, vous avez essayé de cast votre Activity en tant que OnClickListener mais votre Activity ne l'est pas. Par conséquent, essayez de faire implements OnclickListener avec votre activité.
  2. method does not overridefrom its superclass" on the @override declaration. -> parce que vous essayez de override la méthode onClick() de votre père Activity classe, mais vous pouvez vérifier votre super classe, il n'y a pas de méthode onClick pour passer outre.

Anws, dans votre cas, juste implementsOnClickListener dans votre activité est suffisant.

+1

Salut Kingfisher, Désolé pour la réponse tardive et merci pour votre aide! c'est d'accord maintenant! –