MTextBox setFocus() не показывает фокус на текстовом поле при загрузке просмотра, MGWT

Я создал приложение с помощью gwt, mgwt и gwtphonegap. В одном из моих представлений есть несколько текстовых полей, и у меня есть требование, чтобы мне нужно было установить фокус по умолчанию на мое первое поле, когда я посетил это представление. За это ,

 firstInputField = new MTextBox();
 firstInputField.setFocus(true);

// Я не вызываю setFocus() для остальных полей. Но мой firstInputField не имеет фокуса при загрузке представления. Если есть какие-либо прямые или альтернативные способы сделать это, пожалуйста, предоставьте мне.

заранее спасибо,

Арун Кумар.


person Arun Kumar Mudraboyina    schedule 25.07.2014    source источник


Ответы (1)


Блок должен быть добавлен в DOM, если вы создаете только блок без какого-либо контекста в HTML-коде браузера, он не может обрабатывать фокус.

Добавьте поле в свой вид и установите свой фокус, если он не работает, попробуйте обернуть setFocus в запланированную команду:

    Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() {
                @Override
                public void execute()
                {
                    firstInputField.setFocus(true);
                }
            });

ScheduledCommand будет запущен после завершения цикла рендеринга, когда все элементы html будут готовы, и можно будет установить фокус.

person Thomas Meyer    schedule 25.07.2014
comment
Я применил планировщик, но он не дает мне фокуса по умолчанию на моем поле во время загрузки просмотра - person Arun Kumar Mudraboyina; 25.07.2014