Параметр макета Android InputType - как разрешить отрицательные десятичные дроби?

У меня есть макет, в котором есть три поля для ввода трех координат карты. Все идет нормально. Я использую в макете android: inputType = "numberDecimal". При входе в поле пользователь получает цифровую клавиатуру. Все еще хорош.

Однако, когда необходимо ввести отрицательную координату, нет очевидного способа сделать это.

23.2342 работает нормально. 232.3421 отлично работает. -11.23423 не может быть введено - нет способа ввести начальный отрицательный знак или даже обернуть координату в ().

Я уверен, что смогу пойти путем изменения этого на обычный текст inputType, а затем использовать регулярное выражение для проверки того, что введенная информация на самом деле является числовой координатой, обработка сообщений об ошибках обратно пользователю и т. д. Но я бы предпочел не идти по этому пути.

Я искал в Google и Stackoverflow на пару часов безуспешно. Есть предложения?

52
задан EBM 20 February 2011 в 14:43
поделиться