无法从对话框中检索 VideoView

Unable to retrieve VideoView from dialog

我有一个自定义对话框 (playvideo.xml),其中有一个 videoview。

我正在使用以下代码,但在 videoView.setVideoURI(video);

处出现空指针异常
final Dialog dialog = new Dialog(this,R.style.FullHeightDialog);
    dialog.setContentView(R.layout.playvideo);


    VideoView videoView = (VideoView)findViewById(R.id.videoView);
    Uri video = Uri.parse("android.resource://" + getPackageName() + "/"+ R.raw.howtoplaymancalagp);

    //if uncommented, then gives null pointer exception
    //videoView.setVideoURI(video);

     dialog.show();
    //videoView.start();

我不明白为什么 videoView 为空。

您正在 Activity 上呼叫 findViewById(),但在那里找不到视频视图。

在这一行中,您设置对话框的内容视图:

dialog.setContentView(R.layout.playvideo);

如果您想获得 videoView,您需要对该视图调用 findViewById。试试这个:

VideoView videoView = (VideoView) dialog.getView().findViewbyId(R.id.videoView);