0
linkifyを使用してテキストビューでURLと電子メールをハイライト表示すると、最初のレンダリングで正しく機能しますが、テキストを変更しようとすると正しく動作しません。
私のテキストビューでは、私はspannableを使用して、より多くの文字を見ることができます。今、それは仕事だまでテキスト
linkifyが動作しないときにテキストが更新されます
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では新しいテキストを表示しますが、ハイライトリンクやemaiは表示しません私は、UIスレッドでそれを実行しようとするが、私は同じ結果を得る。どんな助け? XML
android:textColorLink="@color/blue.pure"
android:autoLink="all"
と、使用中、次のlinkify
を削除し、唯一の追加により