динамическое добавление запятой при увеличении числа правки текста или текста и добавление единицы в конец строки - PullRequest
0 голосов
/ 12 мая 2019

Я успешно добавил добавление запятой в мой текст редактирования и текстовое представление, используя этот код.

public static void pricedigittextView(final TextView textView){
   final DecimalFormat decimalFormat = new DecimalFormat("###,###");
   final String[] result = {""};
   textView.addTextChangedListener(new TextWatcher() {
       @Override
       public void beforeTextChanged(CharSequence s, int start, int count, int after) {

       }

       @Override
       public void onTextChanged(CharSequence s, int start, int before, int count) {

           if(!result[0].equals(s.toString()) && !s.toString().equals("")){
               result[0] = decimalFormat.format(Long.parseLong(s.toString().replaceAll(",", "")));   
               textView.setText(result[0]);

           }else if(s.equals("")){
               result[0] = "";
               textView.setText(result[0]);
           }
       }
       @Override
       public void afterTextChanged(Editable s) {

       }
   });

}

Но я должен добавить единицу измерения (например, кг, мг).Я думаю, что метод valuedigittextView () анализирует String для Integer, и я получаю сообщение об ошибке при добавлении элемента String в edittext.

Я хочу сказать, есть ли другой способ, которым я могу динамически добавлять запятые и единицы измерения в текстовое представление или редактировать текст?

Я попытался добавить модуль в public void afterTextChanged, как s.append ("kg"), но произошла та же ошибка.

Прямо сейчас, я просто думаю просто добавить представление модуля и управлять видимостью, но это мой последний план.

Любая идея или конкретный код будет полезен!ТНХ!

...