WebView не прорисовывается, WARN / webcore (5336): невозможно получить viewWidth после первого макета - PullRequest
4 голосов
/ 06 июня 2011

Мое приложение имеет вид, который программно добавляется к активности с помощью этого кода:

    RelativeLayout.LayoutParams layoutParams = 
        new RelativeLayout.LayoutParams(480, 75);

    RelativeLayout parent = (RelativeLayout)mMyView.getParent();
    if (parent != null) {
        parent.removeView(mMyView);
    }

    activity.addContentView(mMyView, layoutParams);`

После нажатия кнопки «Назад», которая, конечно, вызывает OnDestroy (), и повторного запуска приложения, я нея вижу, что представление прорисовано на экране, и я получаю это предупреждение в DDMS, когда он пытается его нарисовать:

WARN / webcore (5336): невозможно получить viewWidth после первого макета

Стоит упомянуть, что представление работает в этом состоянии (ресурсы страницы загружаются, согласно журналу в DDMS)

Другие «обычные» представления (ImageView, TextView)которые тоже в том же ContentView рисуют нормально.

Есть идеи как решить эту проблему, или каков ее источник?

1 Ответ

2 голосов
/ 08 августа 2011

Попробуйте использовать parent.forceLayout (), затем вызовите parent.measure ().

Это вынуждает макет перерисовывать себя без учета других запросов макета (и не перерисовывает родительские представления), а затем повторно сопоставляет его с текущими спецификациями.

Надеюсь, это поможет!

...