2011-08-31 4 views
1

Je ne parviens pas à appeler la méthode startVideo() d'une autre classe. Quand je tente de compiler, je reçois l'erreur suivante:Erreur de compilation: référence statique à une méthode non statique

Cannot make a static reference to the non-static method findViewById(int) from the type Activity 

Voici le code de la méthode startVideo():

public static void startVideo(){ 
    startButton = (Button) findViewById(R.id.start_btn); 
    startButton.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     if(width>1000){ 
     setContentView(R.layout.lesson_large); 
     }else{ 
     setContentView(R.layout.lesson); 
     } 
     //@@@ FOR INTRO AV @@@// 
     VideoView videoView = (VideoView) findViewById(R.id.videoView1); 
     MediaController mediaControler = new MediaController(Main.this); 
     mediaControler.setAnchorView(videoView); 
     Uri introVideo = Uri.parse(statics.urlAv + "AV264.MP4"); 
     videoView.setMediaController(mediaControler); 
     videoView.setVideoURI(introVideo); 
     videoView.start(); 

     //@@@ FOR LESSON/SUBLESSSON AV @@@// 
     videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 

     public void onCompletion(MediaPlayer mp) { 
      VideoView videoView = (VideoView) findViewById(R.id.videoView1); 
      MediaController mediaControler = new MediaController(Main.this); 
      mediaControler.setAnchorView(videoView); 
      Uri video = Uri.parse(statics.urlAv + "AV264.MP4"); 
      videoView.setMediaController(mediaControler); 
      videoView.setVideoURI(video); 
      videoView.start();     
     } 
     });  
    }  
    }); 

    menu(); 
    exit(); 
} 

Toute aide sera vraiment apprécié. Merci

+0

onglets font le bloc de code malheureux. Vous devriez essayer des espaces à la place. –

Répondre

5

vous appelez findViewById qui n'est pas une méthode statique de votre méthode qui est statique. Les méthodes d'instance ne peuvent être appelées que sur une instance.

Soit vous devriez en faire non statique, ou créer une instance de votre classe et il l'utiliser est findViewById

Questions connexes