先看下XML布局文件

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);

mEt.setFilters(new InputFilter[] { lengthfilter });这样就OK了,很简单吧,其实这个InputFilter很强大滴

原文:http://blog.csdn.net/msn465780/article/details/43988507

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐