Android:将键盘隐藏在覆盖的“完成"窗口中按下EditText [英] Android: Hiding the keyboard in an overridden "Done" keypress of EditText

查看:161
本文介绍了Android:将键盘隐藏在覆盖的“完成"窗口中按下EditText的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用了一些Android代码来覆盖我的EditText字段中的完成"按钮:

I have used a bit of Android code to override the "Done" button in my EditText field:

   myEditField.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_DONE) {

                mySubroutine();

                return true;
            }
            return false;
        }
    });

激活该字段将调出键盘,然后按完成"将成功评估mySubroutine().但是,当我按完成"时,键盘不再消失.如何将这种默认行为恢复为例行程序?

Activating the field calls up the keyboard, and pressing "Done" evaluates mySubroutine() successfully. However, the keyboard no longer goes away when I press "Done". How do I restore this default behaviour to the routine?

推荐答案

为什么不呢?

myEditField.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
    @Override 
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
        if (actionId == EditorInfo.IME_ACTION_DONE) { 

            mySubroutine(); 
        } 
        return false; 
    } 
}); 

在处理完代码后仅返回false.可以将其解释为无论您的代码(mySubroutine())做什么,此后它仍将使用默认操作.如果返回"true",则表示您是一个快乐的编码人员,所有需要做的事情都在mySubroutine()中发生,并且默认操作不需要采取任何操作.

Just return false after you handle your code. This can be interpreted as no matter what your code (mySubroutine()) does it will still use the default action afterwards. If you return "true" you are telling that you are a happy coder and everything that needed to be done has happen in your mySubroutine() and the default action do not need to take action.

这篇关于Android:将键盘隐藏在覆盖的“完成"窗口中按下EditText的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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