Codenameone 如何在Codename One中将选择更改侦听器添加到选择器?

Codenameone 如何在Codename One中将选择更改侦听器添加到选择器?,codenameone,Codenameone,当只有您更改选择器的选定值时,我尝试创建一个选择器 谢谢 编辑:我回答自己: picker.addActionListener((ActionListener) (ActionEvent ev) -> { doSomething(); }); 这段代码可以工作(Ow我使用如下代码: Picker picker = new Picker(); picker.setStrings("one", "two", "three"); picker.addActionList

当只有您更改选择器的选定值时,我尝试创建一个选择器

谢谢

编辑:我回答自己:

picker.addActionListener((ActionListener) (ActionEvent ev) -> {
        doSomething();
    });

这段代码可以工作(Ow我使用如下代码:

Picker picker = new Picker();
picker.setStrings("one", "two", "three");
picker.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent evt) {
        String selectedValue = picker.getSelectedString();
        if (selectedValue == null) {
            //Cancel pressed
        } else if (previousValue.equals(selectedValue)) {
            // Selected same value
        }else {
            // Selected new value
            doSomething();
        }
    }
});

我用这样的方式:

Picker picker = new Picker();
picker.setStrings("one", "two", "three");
picker.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent evt) {
        String selectedValue = picker.getSelectedString();
        if (selectedValue == null) {
            //Cancel pressed
        } else if (previousValue.equals(selectedValue)) {
            // Selected same value
        }else {
            // Selected new value
            doSomething();
        }
    }
});

在何处声明“previousValue”?您可以在选择器定义之后将上一个值定义为
空字符串
(我选择了字符串选择器作为示例),并将其设置为
doSomething()
在何处声明“previousValue”?您可以将上一个值定义为
空字符串
(我选择字符串选择器作为示例)位于选择器定义之后,并将其设置为
doSomething()之前的选定值