2014-12-03 1 views
3

У меня есть некоторые текстовые поля в приложении для Android, которые должны быть ограничены только символами (и, возможно, некоторыми перечисляемыми наборами основных символов, например «._-» и т. Д.), , Мой первый инстинкт - использовать функцию Java isLetter. Но я не знаю, насколько это удобно для локализации - мое приложение должно быть локализовано на японском языке, в том числе на других языках, и в документации по Android нет никаких намеков относительно того, как это может работать (зависит ли isLetter от текущего языка или все установленные языки или просто белый список символов Unicode). Я знаю, что не могу сказать, что клавиатура Android не допускает запись emoji, поэтому я могу проверить текстовую строку после ее ввода и принять ее, если она в порядке, и отклонить ее с ошибкой, если символы emoji (или другие обнаружены).Проверка правильности ввода текста в тексте с локализацией

Есть ли общепринятый способ сделать это в Android?

ответ

0

isLetter должен делать то, что вам нужно. Вот пример:

public boolean isAlpha(String name) { 
    char[] chars = name.toCharArray(); 

    for (char c : chars) { 
     if(!Character.isLetter(c)) { 
      return false; 
     } 
    } 

    return true; 
} 

Кроме того, японские символы по-прежнему являются символами, поэтому они все равно будут работать. Способ сделать это имеет отношение к кодированию.

Строка - это всего лишь последовательность символов (символов); Строка сама по себе не имеет кодировки вообще. Для чего стоит заменить символы в выше с несущими голубями. То же самое. Голубь-перевозчик не имеет кодировки . Также нет символа.

От Check if String contains only letters

и UTF-8 Encoding ; Only some Japanese characters are not getting converted

+0

После выполнения некоторого дальнейшего тестирования, похоже, вы правы - isLetter действительно принимает японские и другие символы языка. Хотелось бы, чтобы документация была более четкой в ​​этом вопросе о том, что именно она принимает, но пока это будет работать. – malderi

+0

Достаточно сложно перемещаться по документам. Удачи! –

Смежные вопросы