【问题标题】:When enter is clicked单击输入时
【发布时间】:2018-12-25 11:33:23
【问题描述】:

我有一个显示小键盘的编辑文本。我想当用户单击“输入”按钮做某事时。

我试过了,但它似乎不起作用:

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    switch (keyCode) {
        case KeyEvent.KEYCODE_NUMPAD_ENTER:
            check_the_code();
            return true;
        default:
            return super.onKeyUp(keyCode, event);
    }
}

附:有没有办法禁止“输入”关闭小键盘?

【问题讨论】:

    标签: java android keyboard enter


    【解决方案1】:

    试着寻找这个来代替:

    KeyEvent.KEYCODE_ENTER 
    

    尝试通过检查键 (KeyCode) 的 int 值来记录 enter 的返回值,然后将其与您要使用的 KeyEvent 中的键值进行比较,以查看它是否符合您的预期。

    您应该得到 KEYCODE_NUMPAD_ENTER 的值 160 和 KEYCODE_ENTER 的值 66。

    【讨论】:

    • 有没有办法禁止'enter'关闭小键盘?
    • 尝试返回false
    【解决方案2】:
    EditText editText = (EditText) findViewById(R.id.edittext);
    editText.setOnEditorActionListener(new OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            boolean handled = false;
            if (actionId == EditorInfo.IME_ACTION_SEND) {
                Toast.makeText(this, "Clicked", Toast.LENGTH_SHORT).show();
                handled = true;
            }
            return handled;
        }
    });
    

    【讨论】:

    • 有没有办法禁止'enter'关闭小键盘?
    • InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
    猜你喜欢
    • 2017-06-17
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多