android getText()。toString()。equals(“0”)不起作用

时间:2013-11-03 18:56:46

标签: android

我的代码:

if (edittext1.getText().toString().equals("0"))
   edittext1.setFilters(new InputFilter[] {new InputFilter.LengthFilter(1)});

在.xml文件中我设置android:inputType="numberDecimal"我希望,如果用户在edittext1“0”的开头写入,那么他不能再写了。

它不起作用,如何解决?

1 个答案:

答案 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){}
    });