使用JRE 5.0.0,模拟器设备是8520。
在屏幕上,我使用FlowFieldManager(Manager.VERTICAL_SCROLL)并向其添加字段以显示数据。
当我这样做时
this.flowManager = new FlowFieldManager(Manager.VERTICAL_SCROLL);
Field field = new Field()
{
protected void paint(Graphics graphics)
{
graphics.drawTest("Test", 0, 0);
}
protected void layout(int width, int height)
{
this.setExtend(300, 300); // just testing
}
}
this.flowManager.add(field);
屏幕呈现正确,屏幕上显示“测试”。
另一方面,如果我尝试将其抽象为具有相同属性的名为CustomField的类,并将其添加到流管理器中,则不会发生渲染。调试显示设备进入Object,进入布局功能,但不进入绘制功能。
当我扩展Field时,我无法弄清楚为什么不调用paint函数。 4.5 API说布局和绘图是我真正需要扩展的唯一函数。 (getPreferredWidth和getPreferredHeight将用于计算屏幕尺寸等。)
提前致谢。
答案 0 :(得分:2)
如果在绘制时,Field位于剪切区域之外,则不会指示绘制。这是我唯一能看到的错误。
因此,请确保您没有将此字段从某个屏幕滚动到屏幕上。