如何检查EditText是否被更改?

时间:2011-09-12 17:55:56

标签: android android-edittext

我需要知道是否更改了 EditText ,而不是用户是否在字段中输入了一些文本,而只更改了if String

4 个答案:

答案 0 :(得分:47)

你需要一个 TextWatcher

在此处查看:

EditText text = (EditText) findViewById(R.id.YOUR_ID);
text.addTextChangedListener(textWatcher);


private TextWatcher textWatcher = new TextWatcher() {

  public void afterTextChanged(Editable s) {
  }

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

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

  }
}

答案 1 :(得分:8)

如果你改变主意去听按键,可以使用OnKeyListener

    EditText et = (EditText) findViewById(R.id.search_box); 

    et.setOnKeyListener(new View.OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            //key listening stuff
            return false;
        }
    });

但是Johe的答案就是你所需要的。

答案 2 :(得分:2)

实施TextWatcher。它为您提供了三种方法beforeTextChangedonTextChangedafterTextChanged。最后一个方法不应该被调用,直到事情发生变化,所以这对它来说是件好事。

答案 3 :(得分:1)

这实际上对我有用

http://192.168.0.1/test_url