2014-07-25 6 views
1

gwt, mgwt 및 gwtphonegap으로 앱을 만들었습니다. 텍스트 필드가 거의없는 내보기 중 하나인데, 첫 번째 필드에 기본 포커스를 설정할 필요가 있습니다. 그 뷰를 방문했을 때. 이를 위해MTextBox setFocus()는 뷰로드시 텍스트 필드에 포커스를 표시하지 않습니다. MGWT

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

// 나머지 필드에는 setFocus()를 호출하지 않습니다. 그러나 내 firstInputField보기가로드 될 때 포커스가 없습니다. 그것을 할 수있는 직선 또는 대체 방법이 있다면, 제게 제공하십시오.

미리 감사드립니다.

Arun Kumar.

답변

1

상자를 DOM에 추가해야합니다. 브라우저 HTML에 대한 컨텍스트없이 상자 만 만들면 포커스를 처리 할 수 ​​없습니다.

이보기에 상자를 추가하고 초점을 설정, 그것은 작동하지 않는 경우, 예약 된 명령에 setFocus void 현재 포장하려고 다음 renderloop 완료 후

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

ScheduledCommand이 발사 될 것이다, 모든 html 요소가 준비되고 초점을 설정할 수 있습니다.

+0

Schedler를 적용했지만로드 된 시간에 내 필드에 기본 포커스를 제공하지 않습니다. –