Android:从软键盘中删除 Enter 键

发布于 2024-11-28 20:32:51 字数 133 浏览 3 评论 0原文

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

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

In my login form when user clicks on an EditText and presses the enter key, this inserts a new line, therefore increasing the EditText's size. Next moment, it returns to its previous place and prints a dot in the password field (which is the next field).

I want to remove this enter key from the softkeyboard. Is it possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

此生挚爱伱 2024-12-05 20:32:51

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

你的 ENTER 键不见了

Use :
android:singleLine = "true"
or
edittext.setSingleLine();

And your ENTER key is gone

岁月染过的梦 2024-12-05 20:32:51

将此标签添加到 xml 中的 textView

    android:singleLine = "true"

add this tag to textView in xml

    android:singleLine = "true"
独自←快乐 2024-12-05 20:32:51

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

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 时不会变大被按下

I am afraid you can't do this. But one thing is you can handle the softkeyboard keyevents like this,

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

Apart from this, you have to note that providing the attribute android:singleLine=true will make your edittext from growing in size when the soft keyborad ENTER is pressed

寒江雪… 2024-12-05 20:32:51

在标签 EditText 内,您只需要做:

android:singleLine="true"

删除键盘中的 Enter 键

UPDATE

因为 android:singleLine=" true" 已弃用 我使用 android:maxLines="1" 来避免在 EditText 中输入。方法名称仅允许 N 行。

Inside the tag EditText you only have to do:

android:singleLine="true"

this remove the enter key in the keyboard

UPDATE

Inasmuch as android:singleLine="true" is deprecated I use android:maxLines="1" to avoid the enter in a EditText. How the name of the method says only N lines is permitted.

寒尘 2024-12-05 20:32:51

新更新:

android:maxLines="1"

New update :

android:maxLines="1"

尛丟丟 2024-12-05 20:32:51

如果您想在 .java 中使用更通用的内容:

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

If you want something more generic in your .java:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文