android – WebView没有绘制,WARN / webcore(5336):第一次布局后无法获取viewWidth

我的应用程序有一个视图,使用此代码以编程方式添加到活动:

    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上的日志加载页面资源)

同样在ContentView中的其他“常规”视图(ImageView,TextView)也很好.

任何想法如何解决这个问题,或者它的来源是什么?

最佳答案 尝试使用parent.forceLayout()然后调用parent.measure().

这会强制布局重绘自身而不考虑其他布局请求(并且不重绘父视图),然后使用当前规范重新测量它.

希望这可以帮助!

点赞