Android загружает видео в VideoView

Я хочу загрузить видео в виде видео из папки raw с помощью следующего кода

 String uri = "android.resource://" + getPackageName() + "/" + R.raw.preview;
 VideoView mVideoView  = (VideoView)findViewById(R.id.videoView1);
 mVideoView.setVideoURI(Uri.parse(uri));
 mVideoView.requestFocus();
 mVideoView.start();

я получил NullPointerException на этой линии: mVideoView.setVideoURI(Uri.parse(uri));Есть идеи, что мне делать?

2 ответа

Решение

Убедитесь, что findViewById вызов функции возвращает объект VideoView и не является нулевым.

Ошибки нулевого указателя обычно происходят, когда вы вызываете метод для объекта, который является нулевым.

Скорее всего, это ссылка на R.id.videoView1в вашем макете XML-файл неверен, или вы могли иметь ошибку в вашем XML-файле макета, которая не отображается.

Если вы используете Eclipse или Android Studio, R.i.videoView1 должен быть синим, показывая, что он был найден в файле макета.

Также вы можете убедиться, что объект не равен NULL, прежде чем вызывать методы, чтобы быть уверенным. Увидеть ниже:

 String uri = "android.resource://" + getPackageName() + "/" + R.raw.preview;
 VideoView mVideoView  = (VideoView)findViewById(R.id.videoView1);
 if (mVideoView != null)
 {  mVideoView.setVideoURI(Uri.parse(uri));
    mVideoView.requestFocus();
    mVideoView.start();
 } else
 { //toast or print "mVideoView is null"
 }

String path = "android.resource://" + getPackageName() + "/" + R.raw.preview; VideoView mVideoView = (VideoView)findViewById(R.id.videoView1); mVideoView.setVideoPath(path);

Другие вопросы по тегам