先看下XML布局文件
<EditText
android:id="@+id/et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/tv_count"
android:background="@null"
android:hint="@string/free_txt"
android:inputType="numberDecimal"
android:maxLength="10"
android:singleLine="true"
android:textColor="@color/txt_black1"
android:textColorHint="@color/txt_gray2"
android:textSize="@dimen/textsize16" />android:inputType="numberDecimal"这句的属性是可输入小数
/** 输入框小数的位数*/
private static final int DECIMAL_DIGITS = 1; /**
* 设置小数位数控制
*/
InputFilter lengthfilter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
// 删除等特殊字符,直接返回
if ("".equals(source.toString())) {
return null;
}
String dValue = dest.toString();
String[] splitArray = dValue.split("\\.");
if (splitArray.length > 1) {
String dotValue = splitArray[1];
int diff = dotValue.length() + 1 - DECIMAL_DIGITS;
if (diff > 0) {
return source.subSequence(start, end - diff);
}
}
return null;
}
}; mEt.addTextChangedListener(mTextWatcher);
// 控制输入框的小数位和长度,这里长度暂时设置为10
mEt.setFilters(new InputFilter[] { lengthfilter, new InputFilter.LengthFilter(10) }); 这样就OK了,很简单吧,其实这个InputFilter很强大滴
本文介绍如何在Android应用中使用EditText控件并限制用户输入的小数位数。通过自定义InputFilter,可以有效地控制EditText中小数部分的长度,确保输入符合预期的数据格式。

5543

被折叠的 条评论
为什么被折叠?



