我在向面板添加可变数量的标签时遇到问题。我的问题是,由于某种原因,在添加ClickListener
时,它会返回void
而不是小部件(错误)。如果我只有“新标签('xyz')”可以正常工作,但我需要每个面板都有自己的ClickListener
。这是代码:
for (int x = 0; x < productIDArray.length(); x++) {
mainPanel.add(new Label("Test").addClickListener(new ClickListener() {
@Override
public void onClick(Widget sender) {
// TODO Auto-generated method stub
}
}));
}
答案 0 :(得分:3)
方法链接返回的值始终是最后一个值。如果更改新的A().b().c()
,则返回的类型将是c的返回类型。
在您的示例中,new Label("Test").addClickListener(...
的返回类型是ClickListener的addClickListener返回类型,该类型为void。
您可以创建标签,添加点击监听器,然后添加它:
for(int x = 0;x<productIDArray.length();x++) {
Label l = new Label("Test);
l.addClickListener(...);
mainPanel.add(l);
}