问个比较傻的有关问题,EditText如何限制输入的小数点只能一个
问个比较傻的问题,EditText怎么限制输入的小数点只能一个
EditText的代码如上,限制了只能输入数字和小数点,但是小数点可以输入好几个囧,百度了半天都找不到答案只好跑来求助各位大神了ORZ
------解决思路----------------------
android:inputType="numberDecimal"
只可以输入一个小数点,缺点是小数点可以作为起始或结尾
不行的话就用onTextChanged加上正则表达式
------解决思路----------------------
监听是否已经输入过“.”
<EditText
android:id="@+id/et1"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:digits="0123456789."
android:hint="输入体重"
android:maxLength="6"
android:textColor="#ffffff"
android:textSize="30dp" />
EditText的代码如上,限制了只能输入数字和小数点,但是小数点可以输入好几个囧,百度了半天都找不到答案只好跑来求助各位大神了ORZ
------解决思路----------------------
android:inputType="numberDecimal"
只可以输入一个小数点,缺点是小数点可以作为起始或结尾
不行的话就用onTextChanged加上正则表达式
------解决思路----------------------
et_content.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 (et_content.getText().toString().indexOf(".") >= 0) {
if (et_content.getText().toString().indexOf(".", et_content.getText().toString().indexOf(".") + 1) > 0) {
tv_numOfChar.setText("已经输入\".\"不能重复输入");
et_content.setText(et_content.getText().toString().substring(0, et_content.getText().toString().length() - 1));
et_content.setSelection(et_content.getText().toString().length());
}
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
监听是否已经输入过“.”