我有一个带有监听器的editText。
edittext.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event)
{
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER)) {
// Perform action on key press
return true;
}
return false;
}
});
现在我想在我的程序中使用用户在textBox中输入的数据而无需用户按Enter键。 (如果我删除(keyCode == KeyEvent.KEYCODE_ENTER)
,则程序因某种原因挂起。
如何识别用户是否在文本框中输入了某些字符?
答案 0 :(得分:8)
我认为您希望实现类似用户输入任何要检查的字符的功能,如果是这种情况,那么您可以选择TextWatcher类。您可以在其中覆盖其3种方法:afterTextChanged
,beforeTextChanged
和onTextChanged
。
mPasswordLength = (EditText)findViewById(R.id.password_length);
mPasswordLength.addTextChangedListener(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) {
}
});