Android如何检测完成键按下屏幕键盘?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (50)

是否有可能检测到Done屏幕键盘按键被按下?

提问于
用户回答回答于

对的,这是可能的:

editText = (EditText) findViewById(R.id.edit_text);

editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_DONE) {
            // do your stuff here
        }
        return false;
    }
});

请注意,你将不得不导入以下库:

import android.view.KeyEvent;
import android.view.inputmethod.EditorInfo;
import android.widget.TextView;
用户回答回答于

当你必须处理Android应用程序中的任何类型的用户输入时,Editor Info是最有用的类。例如在登录/注册/搜索操作中,我们可以使用它来获得更准确的键盘输入。编辑器信息类描述了文本编辑对象的几个属性,即输入法将直接与编辑文本内容进行通信。

你可以尝试使用IME_ACTION_DONE

这个动作执行一个Done没有输入的操作,并且IME将被关闭。

再使用setOnEditorActionListener:

EditTextObj.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            boolean handled = false;
            if (actionId == EditorInfo.IME_ACTION_DONE) {
              /* Write your logic here that will be executed when user taps next button */


                handled = true;
               }

                return handled;
        }
    });

扫码关注云+社区