onTextChanged函数在保存edittext颜色时无法正常工作[英] onTextChanged function does not work correctly in saving edittext colors

问题描述

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

这里是Textchanged,str是spannable文本.

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) {

            }
        });

推荐答案

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

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

本文地址:https://www.itbaoku.cn/post/978531.html