在界面中添加一个EditText输入框控件,需要在输入时响应输入事件,可以使用setOnKeyListener() 事件:

        final EditText editText = findViewById(R.id.editText1);
        editText.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                Toast.makeText(MainActivity.this, editText.getText().toString(), Toast.LENGTH_SHORT).show();
                return false;
            }
        });

在执行的时候,发现每次都会响应两次事件,原来是每次按下及松开时都会执行一次,对应Action的ACTION_DOWN, ACTION_UP,针对这种情况,修改一下代码,改成只在松开时执行:

        final EditText editText = findViewById(R.id.editText1);
        editText.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if(event.getAction()==KeyEvent.ACTION_UP) {
                    Toast.makeText(MainActivity.this, editText.getText().toString(), Toast.LENGTH_SHORT).show();
                }
                
                return false;
            }
        });

 

相关文章:

  • 2021-04-22
  • 2022-12-23
  • 2021-11-16
  • 2022-12-23
  • 2021-10-03
  • 2022-12-23
  • 2022-02-16
猜你喜欢
  • 2022-12-23
  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-07
相关资源
相似解决方案