Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codenameone 代码名One-选择器的addActionListener_Codenameone - Fatal编程技术网

Codenameone 代码名One-选择器的addActionListener

Codenameone 代码名One-选择器的addActionListener,codenameone,Codenameone,以下代码在很多版本的Android和iOS中显示了“取消”和“确定”选项。我希望addActionListener代码只在用户点击“OK”按钮时执行。此时,即使用户点击“取消”按钮,也会执行该代码: 选择器是本机组件。因此,在使用它时,我们就没有那么高的访问权限或一致性。请记住,在某些形式中,它甚至没有元素列表,因此我们的控制非常有限。我在几个Android设备上使用选择器,它们按预期工作,这意味着只有在按下OK按钮时才会执行操作 按下“取消”按钮不会导致任何操作 不过,我可以在模拟器中重现错误

以下代码在很多版本的Android和iOS中显示了“取消”和“确定”选项。我希望addActionListener代码只在用户点击“OK”按钮时执行。此时,即使用户点击“取消”按钮,也会执行该代码:


选择器是本机组件。因此,在使用它时,我们就没有那么高的访问权限或一致性。请记住,在某些形式中,它甚至没有元素列表,因此我们的控制非常有限。

我在几个Android设备上使用选择器,它们按预期工作,这意味着只有在按下OK按钮时才会执行操作

按下“取消”按钮不会导致任何操作

不过,我可以在模拟器中重现错误


你在设备上试过吗

是的,我在真实设备上确认此行为。请注意,前面的代码应该可以在所有Codename One支持的设备上运行并进行测试,而不仅仅是Android。你用的是代号一吗?是的,我用的是CN1。。。。我已经建立了一个日历应用程序,广泛使用选择器。也许是设备之间的差异……奇怪的是,我有这个问题,而你没有。我希望Shai Almog能写一些澄清。。。也许有个解决办法:)这是个问题吗?哪种类型的设备。选择器实现因设备/操作系统版本而异。我建议提出问题而不是回答,因为我看不到其他答案。你是对的,我不够清楚。我刚刚写了一个新的(更清楚?)问题:
    Form hi = new Form("Hi World", BoxLayout.y());
    Picker languagePicker = new Picker();
    languagePicker.setType(Display.PICKER_TYPE_STRINGS);
    languagePicker.setStrings("Italian", "English", "German");
    languagePicker.setSelectedString("English");
    languagePicker.addActionListener((ev) -> {
        String newLanguage = languagePicker.getSelectedString();
        if (newLanguage != null && newLanguage.length() > 0) {
            Log.p("Language selected: " + newLanguage);
        }
    });
    hi.add(languagePicker);
    hi.show();