用户界面-按钮有问题



我制作了一个弹出屏幕,其中有一个

编辑字段和两个按钮字段

现在我面临着一个非常棘手的问题,有两个按钮,一个是Cancel,另一个是Send button。现在我添加的第一个按钮工作不正常,第二个按钮工作正常。为了简单起见,在这个代码中Cancel button将工作,而Send button将不工作。我在这里缺少的东西,任何人都能帮助我吗


ButtonField sendButton,cancelButton;
PinPopup()//Constructor
{
super(new HorizontalFieldManager());
texts=new EditField("","",200,Field.EDITABLE);
    sendButton = new ButtonField("  Send  ");
    sendButton.setChangeListener(this);
cancelButton = new ButtonField("Cancel"); cancelButton.setChangeListener(this); VerticalFieldManager _fieldManagerContext = new VerticalFieldManager(VerticalFieldManager.USE_ALL_WIDTH | VerticalFieldManager.USE_ALL_HEIGHT) {
public void sublayout(int width,int height) {
super.sublayout(width, height); int xpos = 10; int ypos = 40; Field field = getField(0); layoutChild(field, 280, 50); setPositionChild(field, xpos, ypos); Field field1 = getField(1); layoutChild(field1, 280, 50); setPositionChild(field1, xpos+10, ypos+80); Field field2 = getField(2); layoutChild(field2, 280, 50); setPositionChild(field2, xpos+145, ypos+80); setPosition(150, 220); setExtent(300, 220); } public void paint(){ Overrided } _fieldManagerContext.add(texts); _fieldManagerContext.add(sendButton); _fieldManagerContext.add(cancelButton); public void fieldChanged(Field field, int context) {

if(field==cancelButton) { Dialog.inform("Cancel");
}

if(field){ Dialog.inform("Send"); }
}

更新

if(field==sendButton){
Dialog.inform("Send");
}
更新我也试过了,但现在同样的问题是,伙计们该怎么办

cancelButton = new ButtonField("Cancel") {
protected boolean navigationClick(int status, int time) {
return true;
    }
};

在FieldChangeListener中,对于Send,您检查的是if(field)而不是if(field == sendButton)

我遇到的问题是因为我在一行中添加了两个按钮,并且我使用了VerticalFieldManager来添加按钮,这就是我遇到问题的原因。对于解决方案,我在HorizontalFeildManager中添加了按钮,现在它运行良好

VerticalFieldManager_fieldManagerContext=新的VerticalFieldManager(VerticalFieldManagement.USE_ALL_WIDTH|VerticalFieldManager/USE_ALL_HEIGHT)

到这个

HorizontalFieldManager_fieldManagerContext=新的HorizontalFieldManager(USE_ALL_WIDTH)

相关内容

  • 没有找到相关文章

最新更新