Android EditText - 如何检测SoftKey是否写入了某些内容?

时间:2017-08-02 11:49:27

标签: java android

我想检测使用SoftKey放入EditText的东西。

我已覆盖dispatchKeyEvent,但它不起作用......

@Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        Log.e("key pressed", String.valueOf(event.getKeyCode()));
        return super.dispatchKeyEvent(event);
    }

2 个答案:

答案 0 :(得分:0)

找到解决方案

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_DEL) {
          // like this you can detect 

        }
        return super.onKeyDown(keyCode, event);
    }

答案 1 :(得分:-1)

yourEditText.addTextChangedListener(watcher);

private TextWatcher watcher = new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, 
int count) {
       if(!s.toString().isEmpty()){
        //your text is not empty
    }

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

    }

    @Override
    public void afterTextChanged(Editable s) {

    }
};