LWUIT TextArea не ловит сенсорные события
Я сделал Container
соединение по TextArea
и CheckBox
, В моем приложении я создаю так много всего этого "Containers
"и добавить к каждому TextArea
внутри них ActionListener
(реализуется классом). Что-то вроде этого:
for(int i = 0 ; i<20;i++){
MyContainer c = new MyContainer();
TextArea t = c.getTextArea();
t.addActionListener(this);
}
Я хочу TextArea
чтобы поймать событие и нажать CheckBox
проверено или не проверено. Он отлично работает в не сенсорных устройствах и симуляторах, но в сенсорных устройствах или эмуляторах TextArea
не ловит событие. Я пытался поставить TextArea
в качестве ведущего компонента Container
но это не работает, потому что Container
не имеет addActionListener
метод.
2 ответа
Если я правильно понимаю вопрос, вы пытаетесь создать составной компонент, собранный из нескольких разных компонентов, чтобы действовать как один компонент. В LWUIT/Codename One это называется Lead Component, прикрепленный пост в основном посвящен редактору ресурсов, но концепции применимы и к ручному кодированию. Просто установите "флажок" в качестве ведущего, и все должно работать.
Вы можете кодировать это вручную, получая и переопределяя, но у вас будут небольшие граничные случаи, такие как изменение состояний стиля (состояние фокусировки / нажатия и т. Д.)
Это лучше, чем ты derive
TextArea
класс для getTextArea()
метод. Затем в этом классе реализовать pointerReleased
Метод: закодируйте в нем действие, выполненное обычным способом.