Ошибка компиляции: статическая ссылка на нестатический метод - PullRequest
1 голос
/ 31 августа 2011

Я не могу вызвать метод startVideo () из другого класса.Когда я пытаюсь скомпилировать, я получаю следующую ошибку:

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

Вот код метода 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();
}

Любая помощь действительно будет оценена.Спасибо

1 Ответ

5 голосов
/ 31 августа 2011

вы вызываете findViewById, который не является статическим методом из вашего метода, который является статическим.Методы экземпляра могут быть вызваны только для экземпляра.

Либо вы должны сделать его нестатичным, либо создать там экземпляр вашего класса и использовать его findViewById

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