Android键盘输入键事件不起作用

时间:2016-04-01 11:15:53

标签: android android-softkeyboard text-editor

您好我在我的Android应用程序中使用文本编辑器。当我在android-softkeyboard中触摸输入键并且必须执行一个方法时,我希望光标移动到edittext中的下一行,所以我使用了setOnKeyListener()因为当我按下键时它转到这个方法并执行myMethod()。  我的主要问题是,当我使用它(edittext.setInputType(InputType.TYPE_CLASS_TEXT);)它进入setOnKeyListener()方法的代码行并执行myMethod但光标位置仍然在同一行,如果我删除了行光标位置正在更新(转到下一行)但是setOnKeyListener()没有执行。 请建议我如何处理它,我的代码是

  edittext = (EditText) findViewById(R.id.editText);
        edittext.setInputType(InputType.TYPE_CLASS_TEXT);
        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)) {
                    Toast.makeText(MainActivity.this, edittext.getText(), Toast.LENGTH_SHORT).show();
                    myMethod();

                    return true;
                }
                return false;
            }
        });

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试返回" false":

if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
      Toast.makeText(MainActivity.this, edittext.getText(),  Toast.LENGTH_SHORT).show();
      myMethod();

      return false; // here
 }