java - 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) {
}
});
解决方案
在您的文本更改后尝试此操作,它将解决您的问题。
public void afterTextChanged(Editable s) {
str.removeSpan(new ForegroundColorSpan(Color.parseColor(currentColor)));
}
推荐阅读
- javascript - 如何制作这些斜线
- javascript - HTMLElement.focus() 在 HTMLElement.onpointerdown 中不起作用
- javascript - 如何组织具有维度的列表
- terraform - Terraform:使用流量管理器端点部署 Kubernetes 服务
- javascript - 如何在 Salesforce 任务 API 中使用 html 标签?
- xcode - 创建 .ipa 文件错误 ==> CFURLRequestSetHTTPCookieStorageAcceptPolicy_block_invoke: 不再实现,不应调用
- java - 如何从 ServletInputStream 读取 multipart/form-data 标头并将内容加载到临时文件中
- webserver - 网络设备或服务器使用的网络服务
- linux - Raspberry Pi OS - at 命令什么都不做
- python - Python基于另一个变量(熊猫)在数据框中生成虚拟对象