我使用textview每个单词可点击使用此代码
private ClickableSpan getClickableSpan() {
return new ClickableSpan() {
@Override
public void onClick(View widget) {
TextView tv = (TextView) widget;
String s = tv
.getText()
.subSequence(tv.getSelectionStart(),
tv.getSelectionEnd()).toString();
Log.d("tapped on:", s);
}
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
}
};
}
public static Integer[] getIndices(String s, char c) {
int pos = s.indexOf(c, 0);
List<Integer> indices = new ArrayList<Integer>();
while (pos != -1) {
indices.add(pos);
pos = s.indexOf(c, pos + 1);
}
pos = s.indexOf("\n", 0);
while (pos != -1) {
indices.add(pos);
pos = s.indexOf("\n", pos + 1);
}
Collections.sort(indices);
return (Integer[]) indices.toArray(new Integer[0]);
}
问题是我使用HTML.fromHtml()设置字体颜色;
但是当我使用这个超链接代码时,颜色变为蓝色
我想删除超链接文字格式
单击超链接时蓝色字体颜色,下划线,蓝色框
答案 0 :(得分:0)
我解决了我的问题使用此代码
public class NonUnderlinedClickableSpan extends ClickableSpan
{
@Override
public void updateDrawState(TextPaint ds) {
ds.setUnderlineText(false); // set to false to remove underline
}
@Override
public void onClick(View widget) {
// TODO Auto-generated method stub
}
}
我使用ClickableSpan,因此NoURLUnderline不起作用:)