在EditText中输入数据并在不按回车的情况下进行响应

时间:2011-06-05 11:39:23

标签: android

我有一个带有监听器的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),则程序因某种原因挂起。

如何识别用户是否在文本框中输入了某些字符?

1 个答案:

答案 0 :(得分:8)

我认为您希望实现类似用户输入任何要检查的字符的功能,如果是这种情况,那么您可以选择TextWatcher类。您可以在其中覆盖其3种方法:afterTextChangedbeforeTextChangedonTextChanged

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) {
    }
});