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 Метод: закодируйте в нем действие, выполненное обычным способом.

Другие вопросы по тегам