无法从对话框中检索 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);
我有一个自定义对话框 (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);