【问题标题】:CodenameOne Picker events代号One Picker 事件
【发布时间】:2018-12-22 13:27:02
【问题描述】:

我想让我的通用 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,由于焦点侦听器无效,因此习语不起作用。

如何做到这一点:(

谢谢!

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    Picker 是一个按钮,应该可以与焦点事件一起正常工作,但它可能会在单击完成后广播该事件。一般来说,焦点事件是为按键导航而设计的,所以我不会为触摸设备那样做。它们过于冗长,可能导致表现不佳。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-22
      • 2016-12-14
      • 2019-11-16
      • 1970-01-01
      • 2022-06-16
      相关资源
      最近更新 更多