В моем приложении CN1 есть Multibutton
. Когда я нажимаю на него, я хочу, чтобы действие Picker
, определенное в его методе addActionListener
, было запущено. Для этого мой фрагмент основан на https://www.codenameone.com/manual/events.html.
Итак, в методе Multibutton
addActionListener
я добавил
listeners.fireActionEvent(new ActionEvent(picker, ActionEvent.Type.PointerPressed));
где слушатели - это объект EventDispatcher
, а средство выбора - объект Picker
.
В сборщике addActionListener
Я добавил
listeners.addListener(e);
Но средство выбора не срабатывает, когда я нажимаю кнопку Multibutton, хотя, когда я нажимаю на средство выбора (которое предназначено для целей тестирования) и проверяю выбор, оно печатает, что событие равно PointerPressed
, а фактический компонент равен Picker
.
Таким образом, можно непосредственно «открыть» сборщик, когда пользователь нажимает (мульти) кнопку, чтобы пользователю не нужно было нажимать кнопку, затем нажать сборщик и, наконец, подтвердить выбор. Им нужно только нажать кнопку и подтвердить выбор.
EDIT
Я добавил
listeners.addListener(new ActionEvent(picker, ActionEvent.Type.PointerPressed));
до picker.addActionListener
метода, но теперь я получаю
ActionEvent cannot be cast to ActionListener
относительно звонка на fireActionEvent
.
Любая помощь высоко ценится!