0

我在android中的编辑文本上写了一个关键监听器。以下是我的代码:

textview.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 Enter key press
            if (textview.getText().toString().length() == 15) {
                textvalue = textview.getText().toString();
                textview.setText(replacecardformat());
                textview.clearFocus();
                Log.e(""TAG, "Executed");
                return true;
            } else {
                return false;
            }
        }
        return false;
    }
});

但是日志语句只执行一次。我的返回语句有问题吗?

4

1 回答 1

1

两个观察:

  • 如果您需要每个文本更改的侦听器,请使用view.addTextChangedListener(TextWatcher). Text Watcher 具有三种方法:一种在之前触发,一种在之后触发,一种在文本更改时触发。我想这就是你要找的。您可以在此处找到更多详细信息和教程
  • textview是一个TextView还是EditText?我在问,因为只能EditText接收键盘输入。但是TextView也可以有这样的听众。因为它的文本也可以更改(请参阅此处的文档)。
于 2013-07-01T20:09:36.520 回答