我想在原始文件夹中使用以下代码
在视频视图中加载视频 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));
我应该怎么做?
答案 0 :(得分:4)
确保findViewById
函数调用正在返回VideoView对象且不为空。
当您将方法调用为null的对象时,通常会发生空指针错误。
您的布局xml文件中R.id.videoView1
的引用可能是错误的,或者您的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"
}
答案 1 :(得分:0)
String path = "android.resource://" + getPackageName() + "/" + R.raw.preview;
VideoView mVideoView = (VideoView)findViewById(R.id.videoView1);
mVideoView.setVideoPath(path);