我的应用有一个视图,可以使用以下代码以编程方式添加到活动中:
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尝试绘制它时会收到此警告:< / p>
WARN / webcore(5336):第一次布局后无法获取viewWidth
值得一提的是,该视图在此状态下正常运行(根据DDMS上的日志加载页面资源)
同样在ContentView中的其他“常规”视图(ImageView,TextView)也可以正常使用。
任何想法如何解决这个问题,或者它的来源是什么?
答案 0 :(得分:2)
尝试使用parent.forceLayout()然后调用parent.measure()。
这会强制布局重绘自身而不考虑其他布局请求(并且不会重绘父视图),然后使用当前规范重新测量它。
希望这有帮助!