EditText numberDecimal синтаксический разбор является неправильным для европейских языков - PullRequest
0 голосов
/ 10 июня 2019

У меня есть приложение, которое содержит EditText компонентов, которые предназначены для принятия десятичного значения. Для английского языка это в формате #.##, однако для голландского это должно быть в формате #,##.

Для английского это все отлично работает. Я могу разобрать строку с NumberFormat.getNumberInstance().parse(...), и строка, отображаемая при вводе, имеет формат #.##.

Для европейских языков (голландский, французский и т. Д.) Клавиатура отображает с запятой, а не с точкой для десятичного разделителя, но при прикосновении к ней я получаю . вместо , в поле EditText. Когда я перехожу на анализ строки, десятичное число удаляется, потому что оно не соответствует десятичному формату локали (то есть: 1.23 анализируется до 123).

Я не выполняю никаких преобразований значения EditText, поэтому кажется, что Android автоматически делает это.

Есть ли способ получить поле EditText с inputType="numberDecimal", чтобы использовать правильный разделитель на основе локали?

...