2011-11-08 123 views
0

问题: 我有一个自定义日历视图,使用画布绘制和东西生成。这是片段A的布局。 我有另一个片段B,当用户在片段A中做了某些事情时,它被实例化并通过getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container), fragmentB).addToBackStack().commit(); 取代片段A,直到此时工作正常(片段B显示)。 现在,当我按下后退按钮时,我希望片段B退出或从屏幕中移除,并被之前的片段A替换。 仍然正常工作 - 但是现在显示的日历视图全部混乱并且sh * t ,所有的图纸堆叠在屏幕的左侧,看起来不像日历。 为什么会发生这种情况,我应该怎么做呢?片段自定义视图addToBackStack(),自定义视图和后退按钮

+0

当我旋转屏幕(重新创建活动)时,自定义视图恢复到其美丽的状态。 – josephus

回答

1

我发现罪魁祸首 - 我的自定义画布内的单元格宽度测量值因为某些特定原因被设置为零 - 在onMeasure中。我在onDraw中移动了赋值语句,它完美地工作。