CodenameOne Picker事件

时间:2018-12-21 05:57:45

标签: codenameone

我想让我的通用Picker组件在创建时加载“偏好设置”,并在更改时保存它们。

我可以使用以下惯用法轻松地对TextField或CheckBox进行操作

    checkBox.setSelected(Preferences.get(key, false));
    checkBox.addFocusListener(new FocusListener()
    {
        @Override
        public void focusGained(final Component cmp)
        {

        }

        @Override
        public void focusLost(final Component cmp)
        {
            Preferences.set(key, checkBox.isSelected());
        }
    });

但是,由于焦点侦听器无效,因此对于Picker和PickerComponent而言,该惯用法不起作用。

这如何实现:(

谢谢!

1 个答案:

答案 0 :(得分:0)

选择器是一个按钮,应该与焦点事件一起正常工作,但单击完成后它可能会广播该事件。通常,焦点事件是为按键导航而设计的,因此对于触摸设备,我不会那样做。它们太冗长,可能导致低于标准的行为。

我建议在复选框动作侦听器中翻转开关,而不要通过焦点刷新它。