Android:从软键盘中删除Enter Key

时间:2011-08-09 04:18:12

标签: android return android-edittext android-softkeyboard enter

在我的登录表单中,当用户单击EditText并按下回车键时,会插入一个新行,从而增加EditText的大小。下一刻,它返回到之前的位置并在密码字段中打印一个点(这是下一个字段)。

我想从软键盘中删除此回车键。有可能吗?

6 个答案:

答案 0 :(得分:34)

使用: android:singleLine = "true" 要么      edittext.setSingleLine();

你的ENTER键消失了

答案 1 :(得分:23)

将此标记添加到xml

中的textView
    android:singleLine = "true"

答案 2 :(得分:19)

恐怕你不能这样做。但有一点是你可以像这样处理软键盘键事件

edittext.setOnKeyListener(new OnKeyListener() {

        public boolean onKey(View v, int keyCode, KeyEvent event) {


                if (event.getAction() == KeyEvent.ACTION_DOWN
                        && event.getKeyCode() ==       KeyEvent.KEYCODE_ENTER) {
                    Log.i("event", "captured");

                    return false;
                } 
                else if(event.getAction() == KeyEvent.ACTION_DOWN
                        && event.getKeyCode() == KeyEvent.KEYCODE_BACK){
                    Log.i("Back event Trigered","Back event");

                }

            }

            }
            return false;
        }
    });

除此之外,你必须注意,当按下soft keyborad ENTER时,提供属性android:singleLine=true会使你的edittext的大小增加

答案 3 :(得分:3)

在标记EditText内,您只需执行以下操作:

android:singleLine="true"

这会删除键盘上的回车键

更新

由于android:singleLine="true" 已弃用,我使用android:maxLines="1"来避免输入EditText。该方法的名称仅允许 N 行。

答案 4 :(得分:0)

新更新:

android:maxLines =“ 1”

答案 5 :(得分:0)

如果您想在.java文件中添加更通用的内容:

boolean state = true; yourTextInputEditText.setSingleLine(state);