android - 用于处理 html 标签的调整代码
问题描述
我正在使用一个 java 类来帮助我证明我的文本的合理性..但问题是它似乎没有处理 HTML 标签(它们在我的文本中显示为文本textview
)..我怎样才能修改这个类的行为?谢谢
JustifiedTextView.java
public class JustifiedTextView extends View {
private void constructor(Context context, AttributeSet attrs) {
mContext=context;
mXmlParser=new XmlToClassAttribHandler(mContext,attrs);
if (attrs!=null){
String text;
int textColor;
int textSize;
int textSizeUnit;
text=mXmlParser.getTextValue();
textColor=mXmlParser.getColorValue();
textSize=mXmlParser.getTextSize();
textSizeUnit=mXmlParser.gettextSizeUnit();
setText(text);
setTextColor(textColor);
if (textSizeUnit==-1)
setTextSize(textSize);
else
setTextSize(textSizeUnit, textSize);
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
calculate();
invalidate();
}
public void setText(int resid) {
setText(mContext.getResources().getString(resid));
}
关联类:XmlToClassAttributeHandler.java
public XmlToClassAttribHandler(Context context,AttributeSet attributeSet){
mContext=context;
mRes=mContext.getResources();
mAttributeSet=attributeSet;
}
public String getTextValue(){
String value=mAttributeSet.getAttributeValue(namespace, KEY_TEXT);
if (value==null)
return "";
if (value.length()>1 &&
value.charAt(0)=='@' &&
value.contains("@string/")){
int resId=mRes.getIdentifier(mContext.getPackageName()+":"+value.substring(1), null,null);
value=mRes.getString(resId);
}
return value;
}
这只是胡说八道的文字,以便发布帖子---胡说八道这只是胡说八道的文字,以便发布帖子---胡说八道这只是胡说八道的文字,以便发布帖子---胡说八道
解决方案
用这个
setText(Html.fromHtml(text));
或这个。修剪用于在尝试删除“< p >”标签时删除多余的空间
setText(Html.fromHtml(text).toString().trim())
推荐阅读
- java - 如何通过单击android中的通知提供路径(作为字符串)来打开文件?
- php - 来自单独函数的数据被合并到 excel 中
- javascript - 在 ES6 中使用 map 函数处理数组和子数组
- r - If-Else 循环与 Ifelse(); 它们有何不同以及如何给出相同的结果
- odoo - 在 Odoo 11 中打开和关闭库存
- c# - 数据读取器与指定的“StoredProcedureReturn”不兼容
- ruby-on-rails - Rails will_paginate 如何生成完整的url?
- python-3.x - ModuleNotFoundError:没有名为“pystruct.models.utils”的模块
- angular - 无法以角度 6 导出到剑道网格中的 excel 整个网格数据
- c# - C# WPF 风格的 SaveFileDialog