Я успешно добавил добавление запятой в мой текст редактирования и текстовое представление, используя этот код.
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"), но произошла та же ошибка.
Прямо сейчас, я просто думаю просто добавить представление модуля и управлять видимостью, но это мой последний план.
Любая идея или конкретный код будет полезен!ТНХ!