Android 在 VideoView 中加载视频

use*_*225 5 android android-videoview

我想使用以下代码从原始文件夹中的视频视图中加载视频

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

NullPointerException在这条线上收到:mVideoView.setVideoURI(Uri.parse(uri)); 我应该做什么的任何想法?

Gar*_*ret 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"
 }
Run Code Online (Sandbox Code Playgroud)