android - WebView 未绘制,WARN/webcore(5336) : Can't get the viewWidth after the first layout

标签 android layout view webview draw

我的应用有一个 View ,该 View 使用以下代码以编程方式添加到 Activity 中:

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

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

    activity.addContentView(mMyView, layoutParams);`

按下后退按钮(当然会调用 OnDestroy())并再次运行应用程序后,我没有在屏幕上看到 View 被绘制,并且当 DDMS 尝试绘制它时我收到此警告:

WARN/webcore(5336): 第一次布局后无法获取viewWidth

值得一提的是, View 在此状态下起作用(根据 DDMS 上的日志,正在加载页面资源)

同样位于同一 ContentView 中的其他“常规” View (ImageView、TextView)绘制正常。

有什么办法可以解决这个问题,或者它的根源是什么?

最佳答案

尝试使用 parent.forceLayout() 然后调用 parent.measure()。

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

希望这对您有所帮助!

关于android - WebView 未绘制,WARN/webcore(5336) : Can't get the viewWidth after the first layout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6253337/

相关文章:

android - 如何在 onResume() 上更新 RecyclerView 中的值?

javascript - 在键数组中使用 startkey&endkey 时出现 CouchDB 错误

android - 如何在 ScrollView 下放置新项目

eclipse - 从 Eclipse 菜单 Window -> Show View 中删除 View 名称

ruby-on-rails - 如何让我的帖子按时间顺序显示? (从最新到最旧)

java - 我想每隔 5 秒更改 TextView 的文本

android - 如何暂停 Canvas 以特定角度旋转 2 秒?

android - AndEngine 强制关闭加载示例

css - 响应式电子邮件连列

javascript - 我如何才能将多个div彼此叠加,并随着用户滚动,每个div向上移动以显示其背后的一个