私はテキストビューを使用して、クリック可能な各単語をこのコードで使用します
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(); を使用してフォントの色を設定することです。
しかし、このハイパーリンクコードを使用すると、色が青に変わります
ハイパーリンクのテキスト形式を削除したい
青いフォントの色、下線、ハイパーリンクをクリックしたときの青いボックス