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);