【发布时间】:2014-10-24 23:36:48
【问题描述】:
我正在尝试在 youtube 上全屏播放视频,但我不能 一位用户向我发送了以下报告
java.lang.NullPointerException
at android.view.ViewGroup.addViewInner(ViewGroup.java:3377)
at android.view.ViewGroup.addView(ViewGroup.java:3249)
at android.view.ViewGroup.addView(ViewGroup.java:3225)
at android.webkit.HTML5VideoFullscreen.enterFullscreen(HTML5VideoFullscreen.java:253)
at android.webkit.HTML5VideoView.enterFullscreenVideoState(HTML5VideoView.java:527)
at android.webkit.HTML5VideoViewProxy$VideoPlayer.enterFullscreenVideo(HTML5VideoViewProxy.java:180)
at android.webkit.HTML5VideoViewProxy.handleMessage(HTML5VideoViewProxy.java:461)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4838)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
at dalvik.system.NativeStart.main(Native Method)
我使用的代码:
web.getSettings().setJavaScriptEnabled(true);
web.getSettings().setLoadWithOverviewMode(true);
web.getSettings().setUseWideViewPort(true);
web.getSettings().setBuiltInZoomControls(true);
web.getSettings().setPluginState(WebSettings.PluginState.ON);
web.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
pgb.setProgress(newProgress);
}
@Override
public View getVideoLoadingProgressView() {
FrameLayout frameLayout = new FrameLayout(MainActivity.this);
frameLayout.setLayoutParams(new LayoutParams( LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
return frameLayout;
}
});
web.loadUrl("http://www.youtube.com");
我只是想让我明白如何去做。
【问题讨论】:
-
我认为问题在于添加 FrameLayout View 为什么不使用 Actionbar Interminate Progress 或尝试在 xml 布局中放置一个进度条并在页面加载后设置它的可见性并在进度为时隐藏它等于 100
-
如果您认为您找到了解决方案,请将其发布为答案。谢谢! :)
标签: android webview youtube fullscreen