首页 > 解决方案 > onTextChanged 函数在保存编辑文本颜色时无法正常工作

问题描述

我正在尝试动态保存具有不同颜色的编辑文本,但是当我通过将其转换为 HTML 表单来保存它时,它只会将文本保存为一种颜色,而不是我选择的颜色。

这是Textchanged,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) {

            }
        });

标签: javaandroid

解决方案


在您的文本更改后尝试此操作,它将解决您的问题。

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

推荐阅读