Я тоже тянул за это волосы.Я попробовал browser.setFocus (), и это сработало частично.Тогда я понимаю, что есть другая проблема.Некоторые веб-сайты выполняют автоматическое перенаправление, в результате чего BrowserField обновляется и снова выдает ошибку.Итак, вот решение, которое решит проблему раз и навсегда.Сначала объявите browserField как члена класса.
private BrowserField browserField;
Затем, когда вы создаете экземпляр BrowserField, выполните следующие действия.
browserField = new BrowserField();
ProtocolController eventsProtocolController = new ProtocolController(browserField) {
public void handleNavigationRequest(BrowserFieldRequest request) throws Exception {
browserField.setFocus();
super.handleNavigationRequest(request);
}
};
browserField.getConfig().setProperty(BrowserFieldConfig.CONTROLLER, eventsProtocolController);
Кажется, что эта проблема возникает, когда есть другие поля вваш экран, который может «украсть» фокус.Таким образом, приведенный выше код гарантирует, что любая навигация заставит фокус вернуться обратно к BrowserField.На мой взгляд, это проблема BrowserField, но вот моя работа.
вздох!Кажется, после тестирования этот обходной путь работает только для OS 6 .. но не для OS 5. Я не нашел никакого решения для OS 5.