当Picker只有一个值时,它不起作用

时间:2017-04-10 10:48:17

标签: codenameone

我正在使用picker.setStrings()方法。当字符串数组中有多个值时,它可以正常工作,但当数组中只有一个元素时,它什么都不做。在下面的代码中,如果我取消注释注释语句,它工作正常(在对话框中显示no)但是有一个元素它不起作用(在对话框msg中显示为空白)。 PS。它可以在模拟器中正常工作,但在设备中,存在这个问题。

Picker stationPicker = new Picker();
stationPicker.setType(Display.PICKER_TYPE_STRINGS);
stationPicker.setSelectedString("Select the service center");

stationArray = new String[1];
stationArray[0] = "abc";
//  stationArray[1] = "def";

stationPicker.setStrings(stationArray);
stationPicker.getParent().revalidate();

stationPicker.addActionListener(e -> {
    stationIdArray = new String[1];
//  stationIdArray = new String[2];
    stationIdArray[0] = "1";
//  stationIdArray[1] = "2";

    if (stationArray != null) {
        for (int i = 0; i < stationArray.length; i++) {
            if (stationPicker.getSelectedString().equals(stationArray[i])) {
            selectedStationId = stationIdArray[i] + "";
            }
        }
    }
    Dialog.show("Result", selectedStationId, "ok", null);
}

1 个答案:

答案 0 :(得分:1)

感谢。这看起来像是选择器的Android实现中的一个错误。我在github中有fixed这个,它将在周五的下一次服务器更新中包含。