0
我在连续显示多列时遇到问题。我需要多列和多行列表字段。现在我正试图使用标签字段,我的一个案例工作得很好,但在另一个案例中,我面临的问题请帮助我。我的代码是:多列列表字段
VerticalFieldManager TOrderVFM = new VerticalFieldManager()
for (int i = 0; i <10; i++)
{
HorizontalFieldManager temphfm1 = new HorizontalFieldManager(){
protected void sublayout(int width, int height)
{
int w = 480;
int h = 400;
super.sublayout(w, h);
super.setExtent(w, h);
}
};
TOrderVFM.add(temphfm1);
temphfm1.add(createDayName1(MTradeOrderSoap.objects[i].getProperty("orderDate").toString()));
temphfm1.add(createDayName1(MTradeOrderSoap.objects[i].getProperty("id").toString()));
temphfm1.add(.createDayName1(MTradeOrderSoap.objects[i].getProperty("label").toString()));
temphfm1.add(createDayName1(MTradeOrderSoap.objects[i].getProperty("quantityPending").toString()));
temphfm1.add(createDayName1(MTradeOrderSoap.objects[i].getProperty("securityName").toString()));
temphfm1.add(createDayName1(MTradeOrderSoap.objects[i].getProperty("priceType").toString()));
temphfm1.add(createDayName1(MTradeOrderSoap.objects[i].getProperty("orderOrigin").toString()));
temphfm1.add(ut.createDayName1(MTradeOrderSoap.objects[i].getProperty("orderStatus").toString()));
}
这个循环是将那些从SOAP响应来,而且把它命名为createDayName(方法),也给出below.Now这一切都为我的屏幕之一工作良好的价值观但是当我尝试按照这个为我的另一个屏幕我面临一个错误: - 警告:无法布局字段,不足高度或宽度
我已经设置了两个管理器的宽度和高度,但似乎没有任何工作。请为我提供支持。
public LabelField createDayName1(final String day)
{
LabelField cell = new LabelField("", Field.NON_FOCUSABLE) {
protected void layout(int width, int height)
{
int w = Display.getWidth()/7;
int h = 40;
super.layout(w, h);
super.setExtent(w, h);
}
protected void paint(Graphics g)
{
g.setColor(0xFF9912);
g.setFont(dayNameFont);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.BLACK);
// g.setColor(0x466385);
g.drawText(day.trim(), getWidth()/2 - dayNameFont.getAdvance(day)/3, getHeight()/3 - dayNameFont.getHeight()/2);
super.paint(g);
}
};
return cell;
}