Android是否具有键盘侦听器来检测按下了哪个键? [英] Does Android have keyboard listener to detect which key is pressed?

查看:110
本文介绍了Android是否具有键盘侦听器来检测按下了哪个键?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道在Android中按下了键盘上的哪个键.我进行了很多搜索,但还没有找到正确的答案.我已经在StackOverflow中看到了一些帖子,但是他们没有回答我:

I want to recognize which key on the keyboard is pressed in Android. I have searched a lot but I haven't reached to correct answer yet. Some posts in StackOverflow that I have seen them but they don't answer me are here:

如何在软键盘上收听按键?

Android-按下键盘键

如何查找在android中按下了哪个键?

推荐答案

您可以使用Android提供的TextWatcher api.

You can use the TextWatcher api provided by Android.

这里是 answer 之一的代码段:

field1.addTextChangedListener(new TextWatcher() {

        @Override
        public void afterTextChanged(Editable s) {
        }

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

        @Override
        public void onTextChanged(CharSequence s, int start,
                                  int before, int count) {
            if (s.length() != 0)
                field2.setText("");
        }
    });

    field2.addTextChangedListener(new TextWatcher() {

        @Override
        public void afterTextChanged(Editable s) {
        }

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

        @Override
        public void onTextChanged(CharSequence s, int start,
                                  int before, int count) {
            if (s.length() != 0)
                field1.setText("");
        }
    });

编辑1

以下是用于跟踪键盘上所按下的键的模板:

Here's the template for tracking which key was pressed on the keyboard:

editText.setOnKeyListener(new OnKeyListener() {                 
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    //You can identify which key pressed buy checking keyCode value with KeyEvent.KEYCODE_
    if(keyCode == KeyEvent.KEYCODE_DEL) {  
        //this is for backspace
    }else if(keyCode == KeyEvent.KEYCODE_BACK) {  
        //this is for backspace
    }
    return false;       
}});

这篇关于Android是否具有键盘侦听器来检测按下了哪个键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆