android – 在EditText中拦截空格键的问题

android – 在EditText中拦截空格键的问题,第1张

概述我试图让用户为EditText中的TextView输入文本.但是,如果用户输入内容并想要修复它,我希望他们能够在空的EditText上按空格来获取他们写回的最后一件事.第一个问题是,如果他们输入“hello”,按回车键将其添加到TextView(从EditText中清除它),然后点击空格,然后EditText就会出现“hello”.不是我想要的,我无法弄清楚为什么. 我将输入的文本放入保留字符串的 我试图让用户为EditText中的TextVIEw输入文本.但是,如果用户输入内容并想要修复它,我希望他们能够在空的EditText上按空格来获取他们写回的最后一件事.第一个问题是,如果他们输入“hello”,按回车键将其添加到TextVIEw(从EditText中清除它),然后点击空格,然后EditText就会出现“hello”.不是我想要的,我无法弄清楚为什么.

我将输入的文本放入保留字符串的代码:

b1 = ti.getText().toString();

然后,如果用户点击空格键,我相信他们应该在EditText中获得b1.相反,我得到:“”b1.为什么这里增加了空间?

if((event.getAction()==KeyEvent.ACTION_DOWN)&&(key == KeyEvent.KEYCODE_SPACE)){    if(ti.getText().toString().equals("")){    ti.setText(b1);}

我的第二个更大的问题是上面的代码只适用于硬件键盘.软键盘压缩空间的关键事件是什么?

这都在onKeyListener中.

解决方法 解决额外空间问题的一种简单方法是在将其放入EditText之前从String中删除空格

b1 = b1.substring(1); //<--- cut out the first character,which is the " " in your case.ti.setText(b1);

附:我强烈建议使用更多描述性变量名称.如果你使用像ti和b1这样的名字,你的程序可能会混淆.也许这些选择在您的计划环境中更有意义.但是从你在这里展示的内容来看,这些名称所指的并不容易.

总结

以上是内存溢出为你收集整理的android – 在EditText中拦截空格键的问题全部内容,希望文章能够帮你解决android – 在EditText中拦截空格键的问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1126624.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存