有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java onTextChanged函数在保存edittext颜色时无法正常工作

我试图用不同的颜色动态保存编辑文本,但当我将其转换为HTML格式保存时,它只以一种颜色保存文本,而不是以我选择的颜色保存文本

这是文本更改,str是可扩展文本

text.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

                if(start < s.length() - 1 || count > before){
                    str.setSpan(new ForegroundColorSpan(Color.parseColor(txtColor)), start,start+1 , Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                }
            }
            @Override
            public void afterTextChanged(Editable s) {

            }
        });

共 (1) 个答案

  1. # 1 楼答案

    在你的文本更改后尝试这个,它会解决你的问题

    public void afterTextChanged(Editable s) {
            str.removeSpan(new ForegroundColorSpan(Color.parseColor(currentColor)));
           }