Android编辑文本值约束
我希望我的EditText将接受给定范围内的浮点值,并且只接受小数点后的两位数字,比如0到99.99 在我的xml中,我包含了Android编辑文本值约束,android,android-edittext,Android,Android Edittext,我希望我的EditText将接受给定范围内的浮点值,并且只接受小数点后的两位数字,比如0到99.99 在我的xml中,我包含了 android:inputType="numberDecimal" 请提供帮助。您应该将addTextChangedListener添加到编辑文本中 大概是这样的: editText.addTextChangedListener(new TextWatcher() { @Override public void af
android:inputType="numberDecimal"
请提供帮助。您应该将addTextChangedListener添加到编辑文本中 大概是这样的:
editText.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
}
@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
}
});
根据您的逻辑,您可以实现输入检查。例如:
public void afterTextChanged(Editable s) {
String number = editText.getText().toString();
if (number .length != 0) {
int number = Integer.parseInt(added_number);
if (number > 99)
Toast.makeText(getApplicationContext, "Not more than 99", Toast.LENGTH_SHORT).show();
}
}
希望能有帮助。
如果您希望动态测试输入,则应该覆盖onTextChanged。
如果你愿意,我有一些示例代码参见EditText.setFilters似乎重复的已接受答案有奇怪的副作用…他需要的是过滤器。好的,阅读一些之后,过滤器是最简单的方法。