【问题标题】:How to know key presses in EditText如何知道 EditText 中的按键
【发布时间】:2011-10-30 08:09:34
【问题描述】:

我需要检测EditText 中软键盘或硬键盘上的每个按键。我只需要在按下字符时一次发送一个字符,不需要最终的文本字符串。

我曾尝试将EditTextonKeyPress 一起使用,但我在这里遇到了无法使用软键盘按键的问题,而TextWatcher 不是一个好的选择,因为我需要每次按键。 是否有任何解决方案可以知道所有按键(包括返回、移位、回车...也)?

【问题讨论】:

    标签: android android-edittext


    【解决方案1】:

    如果您有EditText,则可以使用TextWatcher 接口。在我的代码中,search_editEditText

    search_edit.addTextChangedListener(new TextWatcher() {          
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {                                   
            //here is your code
            myadapter.getFilter().filter(s);
            listview.setAdapter(myadapter); 
        }                       
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            // TODO Auto-generated method stub                          
        }                       
        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub                  
        }
    });
    

    【讨论】:

    • 如果以编程方式更改文本,它不会触发吗?这真的是按键事件还是只是文本更改事件?
    • 这不是答案。
    【解决方案2】:

    实现这个:

     et_code_1.setOnKeyListener(new View.OnKeyListener() {
                @Override
                public boolean onKey(View v, int keyCode, KeyEvent event) {
                    if (keyCode == KeyEvent.KEYCODE_ENTER) {
                        /* do something */
                    }
                return true;
                }
            });
    

    更新:

    如果你想实现一个软键监听器,你可以实现TextWatcher。这是一个例子:How to use the TextWatcher class in Android?

    【讨论】:

    • 仅适用于硬件键。
    【解决方案3】:

    使用addTextChangedListener(TextWatcher watcher) 并实现TextWatcher 接口。

    【讨论】:

    • TextWatcher 事件将被调用为 editText.setText(...);同样,我想这对请求者来说不是一个好的选择。
    • 按键不是文本更改
    猜你喜欢
    • 1970-01-01
    • 2011-07-12
    • 2021-11-01
    • 2020-05-15
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    • 2012-12-30
    相关资源
    最近更新 更多