我需要知道是否更改了 EditText ,而不是用户是否在字段中输入了一些文本,而只更改了if String 。
答案 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。它为您提供了三种方法beforeTextChanged
,onTextChanged
和afterTextChanged
。最后一个方法不应该被调用,直到事情发生变化,所以这对它来说是件好事。
答案 3 :(得分:1)
这实际上对我有用
http://192.168.0.1/test_url