输入一定数量的符号后,如何拒绝 EditText 小部件(Android)中的符号?

发布于 2024-10-29 13:09:11 字数 736 浏览 4 评论 0原文

我想注意 EditText 中符号的数量。 为此,我使用

public void onTextChanged(CharSequence s, int start, int before, int count) {

            int symbolRemains = 140 - edTextSMS.getText().length();
            if (symbolRemains>=0) {
                                 tvSymbolsRemains.setText("Осталось символов:"+symbolRemains);
                                   }
            else
            {
                Toast.makeText(MainActivity.this, "Максимум 140 символов в сообщении", Toast.LENGTH_SHORT).show();
                return;
            }


                                                                                     }
    });

因此,在我的 ELSE 部分中,我想拒绝输入符号。当然,简单的“回归”是不行的。我该怎么做?

谢谢$)

I'd like to watch out for the amount of the symbols in EditText.
To do this, I use

public void onTextChanged(CharSequence s, int start, int before, int count) {

            int symbolRemains = 140 - edTextSMS.getText().length();
            if (symbolRemains>=0) {
                                 tvSymbolsRemains.setText("Осталось символов:"+symbolRemains);
                                   }
            else
            {
                Toast.makeText(MainActivity.this, "Максимум 140 символов в сообщении", Toast.LENGTH_SHORT).show();
                return;
            }


                                                                                     }
    });

So, in my ELSE section I'd like to reject the entering symbols. Of course, simple "return" doesn't work. How can I do this ?

Thanks$)

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

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

发布评论

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

评论(2

坠似风落 2024-11-05 13:09:11

在我们的编辑文本上添加一个文本观察器,如果达到最大限制,则删除方法 onTextChanged 中输入的字符(我认为您必须删除从开始到开始+计数的字符,开始和计数是此方法的参数)。

add a text watcher on our edit text and if the max limit was reached, delete the entered character in method onTextChanged (I think you must delete characters from start to start + count, start and count being parameters for this method).

回忆追雨的时光 2024-11-05 13:09:11

您可以这样做:

StringBuffer buffer = new StringBuffer(s);
buffer.delete(start, start + count);
edTextSMS.setText(buffer.toString());

如果您想将 EditText 限制为 140 个字符。

根据 gabi 的建议进行了更新。

You can do:

StringBuffer buffer = new StringBuffer(s);
buffer.delete(start, start + count);
edTextSMS.setText(buffer.toString());

if you want to limit your EditText to 140 characters.

Updated with gabi's suggestion.

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