我有一个带textchange监听器的edittext。在监听器中,我测试用户的输入是否是我想要测试的输入是否在最小 - 最大边界内。
valueText.addTextChangedListener(new TextWatcher() {
String backup = "0";
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (count > 0 && !s.equals(backup)) {
if (Integer.parseInt(s.toString()) > getMaximum()) {
valueText.setText(backup);
}
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
backup = s.toString();
}
public void afterTextChanged(Editable s) {
}
});
目前我有这个,但有没有一种简单的方法来“取消”textchange事件,所以当值超过最大值时没有任何反应?
或者我可以使用inputfilter来设置最小和最大输入吗?
Thx :)
编辑:我在这里找到了一个解决方案:http://tech.chitgoks.com/2011/06/27/android-set-min-max-value-an-edittext-accepts/
答案 0 :(得分:0)
您可以在EditText XML定义中使用android:maxLength。
答案 1 :(得分:0)
InputFilter.LengthFilter mLenthFilter=new InputFilter.LengthFilter(25); // pls define yr max length mine was 25.
valueText.setFilters(new InputFilter[]{mLenthFilter});
答案 2 :(得分:0)