更改日期后如何使用选择器给我的日期?

问题描述 投票:0回答:1

我无法从选取器中获取值,因此我可以在下一堂课中使用它。我试图在 GitHub 上运行 Picker 类来观察不同的选择器,但是来自 spinner 系列的太多代码不起作用。回到我原来的代码。我需要知道示例中缺少什么,以在选择器中按下“完成”按钮后结束对话框。这是代码:

            if (nplans == null) {
                    Dialog dlg = new Dialog("");
                    Picker datePicker = new Picker();
                    datePicker.setUseLightweightPopup(true);
                    String wdate = new Date().toString();
                    datePicker.setDate(new Date());
                    dlg.setLayout(new BorderLayout());
                    dlg.addComponent(CENTER, datePicker);
                    selectedDate = datePicker.getValue().toString();//Text();

                    dlg.showPacked(CENTER, true);
                    dlg.setDisposeWhenPointerOutOfBounds(true);
                    Dialog.show("Selected Date", selectedDate, "OK", null);
            } else {
                    new Plan();
            }
        } catch(IOException err) {
            Log.e(err);
        }
codenameone
1个回答
0
投票

你在这里依赖的一些 EDT 体操可能会以非常奇怪的方式失败。 第一个对话框停止 EDT 并保留输入,这些输入可能会释放对话框,也可能不会。一般来说,我建议不要将输入放在对话框中,尤其是选择器中,因为选择器在每个操作系统上的行为可能有所不同。

我建议将选择器直接放入表单中,并使用操作侦听器异步跟踪选择器值的更改。这是实现这一目标的正确跨平台方法。

© www.soinside.com 2019 - 2024. All rights reserved.