2012-09-10 39 views
0

我有一个带有textchange监听器的edittext。在侦听器中,我测试用户的输入是否是我要测试的位置,如果输入处于最小 - 最大边界内。取消textchange监听器事件

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 :)

编辑:我发现这里的解决方案:在您的EditText XML定义最大长度:http://tech.chitgoks.com/2011/06/27/android-set-min-max-value-an-edittext-accepts/

回答

0

可以使用Android。

+0

是的,但我不需要最小/最大值,没有最大长度:) –

0
InputFilter.LengthFilter mLenthFilter=new InputFilter.LengthFilter(25); // pls define yr max length mine was 25. 
     valueText.setFilters(new InputFilter[]{mLenthFilter});