android EditText限制输入框小数位数
16lz
2021-01-23
先看下XML布局文件
- android:id="@+id/et"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="numberDecimal"
- android:maxLength="10"
- android:singleLine="true" />
- android:inputType="numberDecimal"
这句的属性是可输入小数
/** * 输入框小数的位数 */private static final int DECIMAL_DIGITS = 1;private InputFilter lengthFilter = new InputFilter() {@Overridepublic CharSequence filter(CharSequence source, int start, int end,Spanned dest, int dstart, int dend) {// source:当前输入的字符// start:输入字符的开始位置// end:输入字符的结束位置// dest:当前已显示的内容// dstart:当前光标开始位置// dent:当前光标结束位置Log.i("", "source=" + source + ",start=" + start + ",end=" + end+ ",dest=" + dest.toString() + ",dstart=" + dstart+ ",dend=" + dend);if (dest.length() == 0 && source.equals(".")) {return "0.";}String dValue = dest.toString();String[] splitArray = dValue.split("\\.");if (splitArray.length > 1) {String dotValue = splitArray[1];if (dotValue.length() == DECIMAL_DIGITS) {return "";}}return null;}};
- mEt.setFilters(new InputFilter[] { lengthfilter });
这样就OK了,如果输入第一位是小数点,自动补0
更多相关文章
- Android获取地理位置信息(GPS/NETWORK)
- Android地图获取位置
- Android开发_在Android Studio中搜索项目中出现过的字符串
- 获取android手机内部存储空间和外部存储空间的参数 && 如何决定
- 字符串类的重量级实现——Rope的初步了解 - 学习Android - 51CTO
- Android 2.2 设置应用程序安装位置
- Android字符串进阶之二:字符及字符串的测量和处理