В моем приложении Codename One есть MapContainer, в котором отображаются некоторые маркеры. Когда пользователь нажимает на маркер, должна отображаться новая форма с некоторыми подробностями о маркерах. Вот код, я использую:ActionListener на маркере в MapContainer не запускается в симуляторе (Codename One)
currentMap.addMarker(reportIcon,
new Coord(report.getReportLocation().getLatitude(), report.getReportLocation().getLongitude()
),
report.getReportCategory().getCategoryName(), "",
(evt) -> {
System.err.println("You've clicked on a marker");
// Opens the details
new DetailsForm(theme).show();
});
Однако ни сообщение в консоли, ни DetailsForm отображается, когда я проверить его на тренажере.
Я допустил ошибку или это поведение ожидается в симуляторе, и оно будет работать правильно на реальном устройстве?
Любой намек оценили!
EDIT 2017-02-14: Если я просигналить достаточно двойным щелчком по карте (с плюс/минус кнопки, кажется, не работает на моем тренажере), и добавить .show()
к new DetailsForm(theme)
, что я забыл , то форма отображается как ожидалось.
Я использую MapContainer, который гласит 'Абстрактный Map API, который инкапсулирует устройство нативную карты и легко заменяет его MapComponent, когда без опоры на platform.'. Поэтому я предполагаю, что MapComponent используется, так как я ничего не менял проактивно! – HelloWorld
Извините, мой плохой, он работает! Мне нужно было дважды щелкнуть по карте, чтобы увеличить масштаб (кнопки «плюс/минус» не работают), чтобы отделить разные маркеры, а затем, если я нажму на маркер, он появится (я также забыл добавить «. show() '). В любом случае спасибо за ваш ответ @Shai! – HelloWorld