14

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

我想从软键盘中删除这个回车键。是否可以?

4

6 回答 6

36

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

你的 ENTER 键不见了

于 2012-12-22T12:47:50.700 回答
24

将此标签添加到 xml 中的 textView

    android:singleLine = "true"
于 2011-08-09T04:34:29.317 回答
20

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

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;
        }
    });

除此之外,您必须注意,android:singleLine=true当按下软键盘 ENTER 时,提供该属性会使您的编辑文本变大

于 2011-08-09T04:37:02.227 回答
4

在标签内EditText你只需要做:

android:singleLine="true"

这删除了键盘上的回车键

更新

由于android:singleLine="true" 不推荐使用,我使用它android:maxLines="1"来避免输入 a EditText。该方法的名称如何说明只允许N行。

于 2016-05-23T23:00:44.763 回答
0

新更新:

安卓:m​​axLines="1"

于 2018-11-28T16:17:33.100 回答
0

如果你想在你的 .java 中更通用的东西:

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

于 2020-03-22T17:28:26.097 回答