android api解析之TextWatcher(editText输入监控之一)

TextWatcher在什么时候会调用?

extWatcher在edittext内容发生变化时会被调用

TextWatcher一共有三个方法:

beforeTextChanged方法在文本变化前调用,start代表开始变化的位置,count代表变化的字符长度.after代表变化后字符该位置字符数量

public void beforeTextChanged(CharSequence s, int start, int count, int after)

onTextChanged方法在文本变化时调用,此时s的内容已发生改变,start代表开始变化的位置,before代表变化前该位置字符数量,count代表变化了的字符长度

public void onTextChanged(CharSequence s, int start, int before, int count)

afterTextChanged方法在文本变化后调用,s即为变化后的文本结果

public void afterTextChanged(Editable s)

DEMO:
这个demo主要是监控ID为zipcode这个输入框,当输入的string.length()>=10的时候,访问webservice接口来获取的数据的例子。

zipcode.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                System.out.println("输入文字中的状态,count是输入字符数");
                System.out.println(zipcode.getText());
            }
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                System.out.println("====>onTextChanged");
            }
            @Override
            public void afterTextChanged(Editable s) {
                System.out.println("====>afterTextChanged =="+s);
                if (s.length()>=10) {
                    System.out.println("通过webservice获取相关的数据!");
                }
            }
        });

你可能感兴趣的:(java)