[英]my app crashed when I change webview size
我建立了顯示webview的應用程序。 當我更改WebView的大小時,我的應用程序崩潰了。
這是我的代碼:
final WebView videoWebView = (WebView) findViewById(R.id.videoWebView);
videoWebView.getSettings().setJavaScriptEnabled(true);
videoWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
videoWebView.getSettings().setPluginState(PluginState.ON);
videoWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(30, 30);
videoWebView.setLayoutParams(layoutParams);
(此網絡視圖隱藏在應用程序的開頭,當我顯示他時,該應用程序崩潰了)您能幫我嗎?
非常非常感謝你!
我的登出:
java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.FrameLayout$LayoutParams
at android.widget.FrameLayout.onMeasure(FrameLayout.java:186)
at android.view.View.measure(View.java:19759)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:911)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
at android.view.View.measure(View.java:19759)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6122)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
at android.view.View.measure(View.java:19759)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6122)
at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:393)
at android.view.View.measure(View.java:19759)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6122)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at android.view.View.measure(View.java:19759)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6122)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
at android.view.View.measure(View.java:19759)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6122)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at com.android.internal.policy.DecorView.onMeasure(DecorView.java:690)
at android.view.View.measure(View.java:19759)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2313)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1400)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1649)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1288)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6359)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:873)
at android.view.Choreographer.doCallbacks(Choreographer.java:685)
at android.view.Choreographer.doFrame(Choreographer.java:621)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:859)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6326)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:880)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770)
嘗試這個
ViewGroup.LayoutParams newParams=videoWebView.getLayoutParams();
newParams.height=30;
newParams.width=30;
videoWebView.setLayoutParams(newParams);
或這個
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(30, 30);
videoWebView.setLayoutParams(layoutParams);
在代碼中將LinearLayout.LayoutParams
替換為FrameLayout.LayoutParams
:
LinearLayout.LayoutParams layoutParams = LinearLayout.LayoutParams(30, 30);
與:
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(30, 30);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.