首页 > 解决方案 > 将值选择到下拉列表后,表单向下滚动

问题描述

当下拉列表中选择的日期值会自动将表单中的内容向下推送并且永远不会刷新时,我看到了问题。

我使用了 content.setScrollableY(true) 使表单可滚动。但是当我在下拉列表中选择日期值时,问题就发生了,我必须滚动日期以选择将在内部滚动表单中的内容。请告知

代码:

Form hi = new Form("Pick", BoxLayout.y());        
Label emptyLbl1 = new Label(" ");
emptyLbl1.setUIID("Seperator");

Label emptyLbl2 = new Label(" ");
emptyLbl2.setUIID("Seperator");

Label emptyLbl3 = new Label(" ");
emptyLbl3.setUIID("Seperator");

Label emptyLbl4 = new Label(" ");
emptyLbl4.setUIID("Seperator");

Label emptyLbl5 = new Label(" ");
emptyLbl5.setUIID("Seperator");

Label emptyLbl6 = new Label(" ");
emptyLbl6.setUIID("Seperator");

Label emptyLbl7 = new Label(" ");
emptyLbl7.setUIID("Seperator");

Picker p = new Picker();
p.setType(Display.PICKER_TYPE_DATE);
hi.add(p).add(emptyLbl1).add(emptyLbl7);
CheckBox pickStartTime;
CheckBox pickEndTime;
pickStartTime = new CheckBox("Edit Start Time");
pickStartTime.setOppositeSide(true);
pickStartTime.setHeight(Display.getInstance().convertToPixels(6.5f));
pickStartTime.setSelected(false);
pickStartTime.setUIID("CheckArea");
pickEndTime = new CheckBox("Edit End Time");
pickEndTime.setOppositeSide(true);
pickEndTime.setHeight(Display.getInstance().convertToPixels(6.5f));
pickEndTime.setSelected(false);
pickEndTime.setUIID("CheckArea");
Picker timePicker1 = new Picker();
Picker datePicker1 = new Picker();
Picker dateTimePicker1 = new Picker();
timePicker1.setUIID("TextField");
datePicker1.setUIID("TextField");
dateTimePicker1.setUIID("TextField");
Button navigate = new Button("Navigation");
navigate.setUIID("NavigateButton");        
CommonUtil.makeBorderRound(navigate);
Picker p1 = new Picker();
p1.setType(Display.PICKER_TYPE_DATE);
Label clock = new Label("--:--", "Clock");
hi.add(p1).add(pickStartTime).add(emptyLbl2).add(navigate).add(clock);
Picker p2 = new Picker();
p2.setType(Display.PICKER_TYPE_DATE);
hi.add(pickEndTime).add(p2).add(emptyLbl3).add(emptyLbl5);
Picker p3 = new Picker();
p3.setType(Display.PICKER_TYPE_DATE);
Button finishActivity = new Button("Finish Activity");
CommonUtil.makeBorderRound(finishActivity);
finish.setTextPosition(LEFT);
CommonUtil.addSideMenu(this);
hi.add(p3).add(emptyLbl6).add(finish);
hi.show();

标签: codenameone

解决方案


这不会发生在我身上:

Form hi = new Form("Pick", BoxLayout.y());
Picker p = new Picker();
p.setType(Display.PICKER_TYPE_DATE);
hi.add(p);

hi.show();

确保您使用的是轻量级选择器。


推荐阅读