1

I have three web Views next to one another, for display of seperate spinners. I get this error somtimes, which causes problems in window rendering.

heres my xml...

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical">
   <LinearLayout 

    android:orientation="horizontal" 
    android:layout_height="300dp"
    android:layout_width="match_parent"
    android:gravity="center">

        <WebView
            android:id="@+id/measure_view" 
            android:background="#77000000"
            android:layout_height="match_parent" 
            android:layout_width="160dp"
            android:focusable="true"/>

        <WebView
            android:id="@+id/input_view" 
            android:background="#77000000"
            android:layout_height="match_parent" 
            android:layout_width="160dp"
            android:focusable="true"/>
        <WebView
            android:id="@+id/output_view" 
            android:background="#77000000"
            android:layout_height="match_parent" 
            android:layout_width="160dp"
            android:focusable="true"/>


    </LinearLayout>

Any thoughts?

Thanks, Nathaniel.

4

2 回答 2

1

对于有此问题的任何人:

根据我的发现,在创建 webview 时会发生一些线程,并且某些变量(例如宽度)正在跨线程引用。这是引用代码“不完美”的原因,因为有时数据在渲染时不可用。

看这个:

代码

和 ctrl-f 错误“无法获取 viewWidth”的文本......你会看到我在说什么。

这里一个有趣的延续是我使用了多个 webviews - 这可能使这个问题更加复杂。另一个有趣的方面是,在我的代码中失败的 webview 总是第一个加载内容的,尽管它并不总是失败。

我的解决方案是让事情第一次失败,然后重新渲染失败的 web 视图。

希望这可以帮助。

纳撒尼尔。

于 2012-05-29T13:21:16.753 回答
0

不加载时会发生什么?您在 logcat 中收到错误消息吗?

加载数据后,尝试这样做:

webView.refreshDrawableState();
于 2012-05-24T18:26:27.017 回答