Android:TextView的最后一个单词上的ClickableSpan工作不正常

时间:2017-01-03 09:43:11

标签: android textview spannable

我使用这个优秀的标签lib:https://github.com/danylovolokh/HashTagHelper

然而,在这种情况下存在不良行为:

  

你好,我的上一个#word

如果最后一个ClickableSpan与TextView中的最后一个单词匹配,那么如果我没有点击这个主题标签但是在TextView中(最后),点击这个hastag就完成了!

这是你的截图:蓝色矩形是我的TextView;红十字会在此TextView中单击,但不会在我的上一个标签#word。

enter image description here

在此库中,有此方法可指定主题标签。在我的例子中, nextNotLetterDigitCharIndex变量值为23(此值正确)。

if (nextNotLetterDigitCharIndex != -1) {

            Spannable s = (Spannable) mTextView.getText();

            CharacterStyle span;

            if (mOnHashTagClickListener != null) {
                span = new ClickableForegroundColorSpan(mHashTagWordColor, this);
            } else {
                // no need for clickable span because it is messing with selection when click
                span = new ForegroundColorSpan(mHashTagWordColor);
            }

            s.setSpan(span, startIndex, nextNotLetterDigitCharIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

Ps:在标称模式下,此TextView包含多行。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。我的解决方案是在最后一个clickableSpan之后添加一个空格字符。