0
我想全屏播放YouTube上的視頻,但我不能 一個用戶發出以下報告播放YouTube視頻全屏的WebView崩潰
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查看爲什麼不使用Actionbar Interminate Progress或嘗試將一個進度欄放入xml佈局並設置它的可見性一旦如果您認爲您找到了解決方案,請將其作爲答案發布,並在進度等於100時加載頁面並將其隱藏。100 – Cjames 2014-09-01 02:24:28
謝謝! :) – 2014-09-02 19:31:23