我的代码:
if (edittext1.getText().toString().equals("0"))
edittext1.setFilters(new InputFilter[] {new InputFilter.LengthFilter(1)});
在.xml文件中我设置android:inputType="numberDecimal"
我希望,如果用户在edittext1“0”的开头写入,那么他不能再写了。
它不起作用,如何解决?
答案 0 :(得分:0)
确保每次输入更改时都进行此检查,而不仅仅是一次:
edittext1.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {
if (edittext1.getText().toString().equals("0")){
edittext1.setFilters(new InputFilter[] {new InputFilter.LengthFilter(1)});
}else{
edittext1.setFilters(new InputFilter[0]); // remove filter
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count){}
});