| | |
| | | * @param context |
| | | * @return |
| | | */ |
| | | public static CharSequence getClickableHtml(String html, Context context, Integer color) { |
| | | public static CharSequence getClickableHtml(String html, Context context, Integer color,Class jumpClass) { |
| | | Spanned spannedHtml = Html.fromHtml(html); |
| | | SpannableStringBuilder clickableHtmlBuilder = new SpannableStringBuilder(spannedHtml); |
| | | URLSpan[] urls = clickableHtmlBuilder.getSpans(0, spannedHtml.length(), URLSpan.class); |
| | | for (final URLSpan span : urls) { |
| | | setLinkClickable(clickableHtmlBuilder, span, context, color); |
| | | setLinkClickable(clickableHtmlBuilder, span, context, color,jumpClass); |
| | | } |
| | | return clickableHtmlBuilder; |
| | | } |
| | |
| | | /** |
| | | * 设置点击超链接对应的处理内容 |
| | | */ |
| | | private static void setLinkClickable(final SpannableStringBuilder clickableHtmlBuilder, final URLSpan urlSpan, final Context context, final Integer linkColor) { |
| | | private static void setLinkClickable(final SpannableStringBuilder clickableHtmlBuilder, final URLSpan urlSpan, final Context context, final Integer linkColor,Class jumpClass) { |
| | | int start = clickableHtmlBuilder.getSpanStart(urlSpan); |
| | | int end = clickableHtmlBuilder.getSpanEnd(urlSpan); |
| | | int flags = clickableHtmlBuilder.getSpanFlags(urlSpan); |
| | | |
| | | ClickableSpan clickableSpan = new ClickableSpan() { |
| | | public void onClick(View view) { |
| | | context.startActivity(new Intent(context, BrowserActivity.class).putExtra("url", urlSpan.getURL())); |
| | | context.startActivity(new Intent(context, jumpClass).putExtra("url", urlSpan.getURL())); |
| | | } |
| | | |
| | | public void updateDrawState(TextPaint ds) { |