Прокрутка TextViews не работает, когда все слова применены ClickableSpan
В Android TextView каждое слово является хэштегом, который можно кликать, используя ClickableSpan для каждого слова.
Высота TextView установлена на wrap-content, а maxHeight установлен на 150dp.
При нажатии на хэштеги в приложении textview правильно перемещается на соответствующую страницу.
Проблема в том, что когда я пытаюсь прокрутить textView, он не прокручивается. Вместо этого, с какого бы хэштега я ни поднимал палец, он регистрирует щелчок для этого хэштега.
Как я могу остановить щелчок по хэштегам при прокрутке текстового представления вверх или вниз?
SpannableString strClickableHashTags = new SpannableString(eventHashTags);
int startIndex = 0;
int endIndex = 0;
for(String hashTag : listHashTags){
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View widget) {
TextView hashTagView = (TextView) widget;
Spanned spannedText = (Spanned) hashTagView.getText();
int startIndex = spannedText.getSpanStart(this);
int endIndex = spannedText.getSpanEnd(this);
String hashTag = (spannedText.subSequence(startIndex, endIndex)).toString();
if(hashTag.startsWith("#")){
openSearchPageForHashTag(hashTag);
}
else if(hashTag.startsWith("@")){
openSearchPageForUserSearch(hashTag);
}
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
}
};
ForegroundColorSpan fcs = new ForegroundColorSpan(Color.WHITE);
startIndex = eventHashTags.indexOf(hashTag, endIndex);
endIndex = startIndex + hashTag.length();
strClickableHashTags.setSpan(clickableSpan, startIndex, endIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
strClickableHashTags.setSpan(fcs, startIndex, endIndex, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
}
textHashTags.setText(strClickableHashTags);
textHashTags.setMovementMethod(LinkMovementMethod.getInstance());
textHashTags.setHighlightColor(Color.TRANSPARENT);
eventHashTags - это строка, содержащая хэштеги, разделенные пробелами.
listHashTags - это ArrayList всех хэштегов в eventHashTags.