【问题标题】:Remove whitespace when input autocomplete text in Android在Android中输入自动完成文本时删除空格
【发布时间】:2019-03-13 08:09:30
【问题描述】:

在注册活动中,关注email EditTextField(not autocompletext just edittext),我可以放我经常使用的email。

但它总是输入带有空格的电子邮件。

例如,如果经常使用电子邮件是“tester@test.com”

但是当我在键盘上选择电子邮件时,它会输入空格'tester@test.com'

当我选择带有自动完成功能的电子邮件时,我想删除空格

如果你知道,请帮助我


我把它放在 public void afterTextChanged(Editable s)

Log.d(TAG,"print input email " + "|" + editTextEmail.getText().toString() + "|");

D/JoinActivity: print input email |tester@tester|
D/JoinActivity: print input email |tester@tester|
D/JoinActivity: print input email |tester@tester |

当我在 textchanged 后输入时,

这样打印重复,

2019-03-13 17:55:31.208 24374-24565/? D/InputTransport: Input channel constructed: fd=418
2019-03-13 17:55:31.208 24374-24565/? D/InputTransport: Input channel destroyed: fd=418
2019-03-13 17:55:31.208 14842-14842/com.example.thewell_dev.myapplication D/InputTransport: Input channel constructed: fd=79
2019-03-13 17:55:31.209 14842-14842/com.example.thewell_dev.myapplication D/InputTransport: Input channel destroyed: fd=82
2019-03-13 17:55:31.217 14842-14842/com.example.thewell_dev.myapplication V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@8a6ddd0 nm : com.example.thewell_dev.myapplication ic=com.android.internal.widget.EditableInputConnection@58201c9

【问题讨论】:

    标签: android autocomplete removing-whitespace


    【解决方案1】:

    试试这个

    在你的 editText.addTextChangedListener{....}

    添加这个

     @Override
     public void afterTextChanged(Editable s) {
     String result = s.toString().replaceAll(" ", "");
     editText.setText(result);
     }
    

    @Override
     public void afterTextChanged(Editable s) {
     String result= s.trim();
     editText.setText(result);
    
     }
    

    【讨论】:

    • 我不知道为什么会出现错误,但它对我有帮助。谢谢你的回答
    【解决方案2】:

    您可以将 TextWatcher 添加到 EditText 以监视文本的更改并删除前导/尾随空格。

    【讨论】:

    • 是的,我在editext中添加了watcher,但是自动补全的时候,无法完成
    • 但是当用户选择自动完成选项并将文本放入 EditText 时,仍应触发 TextWatcher 回调。
    • 是的,我可以得到它,但是当我选择自动完成时,它会打印三遍
    • 我不明白你的意思。什么打印三遍,在哪里打印?
    • 我更新了我的问题,当我选择建议的自动完成时它打印了三遍
    猜你喜欢
    • 2018-07-01
    • 2012-11-14
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    • 2012-12-07
    • 2013-10-19
    • 2017-08-25
    • 2012-08-08
    相关资源
    最近更新 更多