我有以下spantext
设置为TextView
的一部分。
我已确认TextView
正在完美地接收onClick输入,但TextView
并未更改它的背景颜色,直到我点击跨度很多次(它有所不同)或滚动recyclerview
进出视图,但不要太远,因为它会重置。
如何在第一次点击后立即更新TextView
中的recyclerview
?
public class SpoilerSpan extends ClickableSpan {
private boolean clicked = false;
@Override
public void onClick(View widget) {
clicked = true;
Log.d("Span", "Spoilerspan click registered")
}
@Override
public void updateDrawState(TextPaint ds) {
if (!clicked){
ds.setColor(Color.argb(255, 00, 00, 00)); //FF000000
ds.bgColor = Color.argb(255, 00, 00, 00); //FF000000
ds.setUnderlineText(false);
}
}
}
答案 0 :(得分:0)
事实证明,修复
非常简单public class SpoilerSpan extends ClickableSpan {
private boolean clicked = false;
@Override
public void onClick(View widget) {
clicked = true;
widget.invalidate();
}
@Override
public void updateDrawState(TextPaint ds) {
if (!clicked){
ds.setColor(Color.argb(255, 00, 00, 00)); //FF000000
ds.bgColor = Color.argb(255, 00, 00, 00); //FF000000
ds.setUnderlineText(false);
}
}
}