Существует ли встроенный метод InputType или другой способ заставить виджет Android EditText отказываться принимать запятые?

1

Я создаю разделенный запятыми файл и не хочу давать пользователю способ запутать приложение.

  • 0
    Не следует запрещать пользователям использовать запятую, вместо этого используйте синтаксис в CSV-файле, который допускает использование запятых в значении.
Теги:
android-edittext

2 ответа

1
Лучший ответ

После того, что сказал RoToRa, вы можете разграничить файл, используя вкладки.

Если вы хотите запретить запятые, вы можете добавить TextWatcher для изменения строки до ее публикации в графическом интерфейсе:

EditText text;
private void foo()
{
    text.addTextChangedListener(new TextWatcher()
    {
        public void onTextChanged(CharSequence s, int start, int before, int count)
        {
        }

        public void beforeTextChanged(CharSequence s, int start, int count, int after)
        {
        }

        public void afterTextChanged(Editable s)
        {
            // modify string here
        }
    });
}
  • 0
    Я могу использовать вкладки [шлепает по лбу]. Благодарю.
  • 0
    Использование вкладок не обязательно решает проблему. Вкладки легко вводятся в текстовые поля на Android, потому что многие аппаратные клавиатуры имеют клавишу табуляции, которая фактически вводит вкладку в текстовые поля. Возможно, было бы лучше прочитать о хороших форматах CSV (таких как tools.ietf.org/html/rfc4180 ) и / или использовать одну из десятков доступных библиотек CSV для Java.
1

Просто проверьте метод addTextChangedListener (TextWatcher watcher) - добавьте слушателя, который будет проверять поле editText при его изменении.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню