我一直在使用codenameone进行一年的开发,而且我从未遇到过这个问题,我觉得我正在失去理智。我刚刚重新设计了我正在工作的应用程序的一部分,现在ActionListener
s没有开火。我将它们连接到Button
,并在代码SpanButton
:动作监听器没有触发
ActionListener goToDoc = new ActionListener() {
String mDocId = docId;
@Override
public void actionPerformed(ActionEvent evt) {
mStateMachine.currentExpertId = mDocId;
mStateMachine.showForm("DoctorDetails", null);
}
};
name.addActionListener(goToDoc);
Util.downloadImageToStorage(mStateMachine.URL_PREFIX+"images/doctors/"+(String)value.get("doc_pic"),
"doc_post_pic_"+(String)value.get("doc_id")+".png", new Callback<Image>() {
@Override
public void onSucess(Image img) {
pic.setIcon(img.scaledWidth(mStateMachine.getProportionalWidth(.23)));
StateMachine.applyGreenBorder(pic);
pic.addActionListener(goToDoc);
pic.getParent().revalidate();
}
@Override
public void onError(Object sender, Throwable err, int errorCode, String errorMessage) {
System.out.println("Unable to download expert profile picture");
}
});
当我调试代码,组件都表明ActionListener
连接,但从未达到actionPerformed
方法,无论多少次我点击按钮。我在模拟器和Android设备上遇到此问题。我还没有测试iPhone。
不,父母是一个普通的BoxLayout Y容器。这个答案应该是一个评论,顺便说一句。 – ygesher
我建议覆盖形式指针发布事件和调用超级检查聚焦组件。 –
如何使用GUI构建器表单来做到这一点? – ygesher