android - 重写 getText() 后,EditText 中的光标消失了

标签 android android-edittext cursor gettext

我需要 getText() 返回单词之间有一个空格的文本,并删除行首和行尾的所有空格。为了实现这些要求,我在 edittext 中重写了此方法:

@Override
public Editable getText() {
    String text = super.getText().toString();
    text = text.trim();
    StringBuilder builder = new StringBuilder();
    for (int i = 0; i < text.length(); i++) {
        if ((i + 1) >= text.length() || text.charAt(i) != ' ' || text.charAt(i + 1) != ' ') {
            builder.append(text.charAt(i));
        }
    }
    Editable e = new SpannableStringBuilder(builder);
    return e;
}

但是输入文本时不再显示光标。我尝试了多种方法在代码和 XML 中显示它,但没有任何帮助。 是否可以以某种方式修复此错误?
我的 CutomEditText 类扩展了 AppCompatEditText

最佳答案

既然你可以轻松做到,为什么还要做这么复杂的事情

String data = "Where are you going"; // you can also use String data = edittext.getText()
String str[] = data.split(" ");
String filtered = "";
for(int i=0;i<str.length;i++){
    if(i=0)
       filtered=trim(str[i]);
    else{
       filtered = " "+trim(str[i]); 
    }
}

关于android - 重写 getText() 后,EditText 中的光标消失了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40604265/

相关文章:

android - 如何在 editText 处于焦点时隐藏键盘

cocoa - 我想在光标的插入点插入标记,而不是数组的末尾

Javascript 将光标图标更改为本地 icon.jpg

android - 通过 Intent 分享图片(Facebook 等)

安卓:外部设备和安卓应用程序之间的USB通信

Android:如何完全禁用 Edittext 中的复制和粘贴功能

android - 在 Android 弹出窗口中输入数据

java - wp :featuredmedia of type org. json.JSONArray 无法转换为 JSONObject

java - Jni native C++ 在 android 中并不比 java 快

macos - PhpStorm 中光标周围烦人的文本空间