как поставить фокус на текстовое поле после отображения ошибки в j2me? - PullRequest
1 голос
/ 04 марта 2011
void getThisAlert(String Title,  Displayable txtagency2)
{
    Alert error = new Alert("", Title, null, AlertType.INFO);
    error.setTimeout(2000);
    Display.getDisplay(myProject).setCurrent(error,txtagency2);
}

я проверяю много данных ... поэтому после показа пользователю, что он не заполнил какую-то конкретную деталь, а потом я хочу сосредоточиться на этом .... так что кто-то, пожалуйста, предоставит какое-то решение ...

Как я могу сосредоточиться на другой странице.

1 Ответ

1 голос
/ 05 марта 2011

Вы можете использовать callSerially метод Display объекта avec, который реализует класс Runnable.

private class ItemFocusEventHandler implements Runnable
{
     private Item _Item = null;

     public ItemFocusEventHandler(Item item)
     {
          _Item = item;
     }

     public void run()
     {
          try { Thread.sleep(1000); }
          catch (Throwable t) { ; }

          _display.setCurrentItem(_Item); // sets focus to item
     }
}

Затем в процедуре проверки данных

if (_txtName.getString().length() == 0))
{
     Alert alert = new Alert(null, "Name ?", null, AlertType.ERROR);
     alert.setTimeout(2500);
     _display.setCurrent(alert, this);
     _display.callSerially(new ItemFocusEventHandler(_txtName));
}

Таким образом, фокус получится на _txtName. Вы можете использовать этот обработчик и для другого элемента пользовательского интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...