Android:将小数点添加到EditText字段,并使其随输入移动

Android:将小数点添加到EditText字段,并使其随输入移动,第1张

概述在我的应用中,用户可以在文本字段中输入美元金额.问题是,我需要输入以适应最终数字,因为他们输入数字,而不实际输入小数点.解释这个的最好方法是举个例子: 假设用户使用包含以下内容的EditText字段开始: . 用户想要在字段中输入$12.53(即数字1,2,5,3).然后他/她从输入1开始,该字段应如下所示: 0.1 然后: 0.12 下一个: 1.25 最后: 12.53 因此,您可能会注意到, 在我的应用中,用户可以在文本字段中输入美元金额.问题是,我需要输入以适应最终数字,因为他们输入数字,而不实际输入小数点.解释这个的最好方法是举个例子:

假设用户使用包含以下内容的EditText字段开始:

.

用户想要在字段中输入$12.53(即数字1,2,5,3).然后他/她从输入1开始,该字段应如下所示:

0.1

然后:

0.12

下一个:

1.25

最后:

12.53

因此,您可能会注意到,随着数字的输入,小数位也会相应地自行放置.是否可以在输入数字时执行此 *** 作?谢谢.

解决方法 是的,这很有可能,即使您不必分别管理“$”和小数.

下面是TextWatcher *** 作的简单EditText:

final EditText editText = (EditText) findVIEwByID(R.ID.edt);    editText.addTextChangedListener(new TextWatcher() {        @OverrIDe        public voID beforeTextChanged(CharSequence charSequence,int i,int i1,int i2) {        }        @OverrIDe        public voID onTextChanged(CharSequence charSequence,int i2) {        }        @OverrIDe        public voID afterTextChanged(Editable editable) {            if (editText == null) return;            String inputString = editable.toString();            editText.removeTextChangedListener(this);            String cleanString = inputString.toString().replaceAll("[$,.]","");            BigDecimal bigDecimal = new BigDecimal(cleanString).setScale(2,BigDecimal.ROUND_FLOOR).divIDe(new BigDecimal(100),BigDecimal.ROUND_FLOOR);            String  converted = NumberFormat.getCurrencyInstance().format(bigDecimal);            editText.setText(converted);            editText.setSelection(converted.length());            editText.addTextChangedListener(this);        }    });

如果您需要知道如何在xml中创建EditText,请执行以下 *** 作:

<EditText    androID:layout_wIDth="match_parent"    androID:layout_height="wrap_content"    androID:ID="@+ID/edt"    androID:inputType="numberDecimal"    androID:textDirection="anyRtl"    androID:gravity="right"/>

这是一个老问题,但也许,最好回答:)

总结

以上是内存溢出为你收集整理的Android:将小数点添加到EditText字段,并使其随输入移动全部内容,希望文章能够帮你解决Android:将小数点添加到EditText字段,并使其随输入移动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1124678.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存