我的应用程序有一个视图,使用此代码以编程方式添加到活动:
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().
这会强制布局重绘自身而不考虑其他布局请求(并且不重绘父视图),然后使用当前规范重新测量它.
希望这可以帮助!