在Android和iOS的许多版本中,以下代码显示了选项"取消"和"好的"。我想只有当用户点击" OK"时才会执行addActionListener代码。按钮。目前,即使用户点击"取消"该代码也会被执行。按钮:
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();
答案 0 :(得分:1)
Picker
是本机组件。因此,在使用它时,我们不具备这种访问级别或一致性。请记住,在某些形式中,它甚至没有元素列表,因此我们的控制非常有限。
答案 1 :(得分:1)
我在几个Android设备上使用选择器并且它们按预期工作,这意味着只有在按下OK按钮时才会执行操作。
按下取消按钮不会执行任何操作。
但我可以在模拟器中重现错误。
你在设备上试过吗?