更新文本时 linkify 不起作用

linkify not work when update text

我使用 linkify 在我的文本视图中突出显示 URL 和电子邮件,它在第一次渲染时工作正常,但当我尝试更改文本时不起作用。
在我的文本视图中,当文本长度超过特定数量的字符串时,我使用 spannable 附加查看更多和查看更少。 以下我的 span 函数附加了 text

  private static SpannableStringBuilder getTextToShown(Activity activity, String text, boolean showMore) {

    SpannableStringBuilder sb;

    final ForegroundColorSpan fcs = new ForegroundColorSpan(activity.getResources().getColor(R.color.cyan_mostly_black_light));
    String textToShow;
    if (!showMore) {
      textToShow = text + " " + activity.getResources().getString(R.string.see_less);
      sb = new SpannableStringBuilder(textToShow);
      sb.setSpan(fcs, text.length(), textToShow.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
      sb.setSpan(new android.text.style.StyleSpan(android.graphics.Typeface.BOLD), text.length(), textToShow.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    } else {
      textToShow = text.substring(0, NUMBER_OF_CHAR_TO_SHOWN - 1) + " " + activity.getResources().getString(R.string.see_more);
      sb = new SpannableStringBuilder(textToShow);
      sb.setSpan(fcs, NUMBER_OF_CHAR_TO_SHOWN, textToShow.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
      sb.setSpan(new android.text.style.StyleSpan(android.graphics.Typeface.BOLD), NUMBER_OF_CHAR_TO_SHOWN, textToShow.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    }
    return sb;
  } 

我通过以下方式使用它

 if (postModel.getObject().getContent().length() > 140) {
          post_data.setText(getTextToShown(activity, postModel.getObject().getContent(), true));
          showMore = true;
          post_data.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
              if (showMore) {
                post_data.setText(getTextToShown(activity, postModel.getObject().getContent(), false));
                showMore = false;
              } else {
                post_data.setText(getTextToShown(activity, postModel.getObject().getContent(), true));
                showMore = true;
              }
            }
          });
        } else {
          post_data.setText(postModel.getObject().getContent());
        }

我通过添加此

添加 linkify
post_data.setMovementMethod(LinkMovementMethod.getInstance());
post_data.setLinkTextColor(Color.BLUE);
Linkify.addLinks(post_data, Linkify.WEB_URLS | Linkify.EMAIL_ADDRESSES | Linkify.PHONE_NUMBERS);

直到现在它工作正常没有任何问题但是当尝试点击在 textview 中查看更多时它在 textview 中呈现新文本但不突出链接或电子邮件,我尝试 运行 它在 UI 线程但我也得到相同的结果。有帮助吗?

我通过删除 linkify 并仅在 xml

中添加以下内容来解决
android:textColorLink="@color/blue.pure"
android:autoLink="all"

并使用。