Class ClickableSpan

java.lang.Object
icyllis.modernui.text.style.CharacterStyle
icyllis.modernui.text.style.ClickableSpan
All Implemented Interfaces:
UpdateAppearance
Direct Known Subclasses:
URLSpan

public abstract class ClickableSpan extends CharacterStyle implements UpdateAppearance
If an object of this type is attached to the text of a TextView with a movement method of LinkMovementMethod, the affected spans of text can be selected. If selected and clicked, the onClick(icyllis.modernui.view.View) method will be called.

The text with a ClickableSpan attached will be underlined and the link color will be used as a text color. The default link color is the theme's accent color or android:textColorLink if this attribute is defined in the theme. For example, considering that we have a CustomClickableSpan that extends ClickableSpan, it can be used like this:

SpannableString string = new SpannableString("Text with clickable text");
 string.setSpan(new CustomClickableSpan(), 10, 19, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
Text with ClickableSpan.
  • Constructor Details

    • ClickableSpan

      public ClickableSpan()
  • Method Details

    • onClick

      public abstract void onClick(@Nonnull View widget)
      Performs the click action associated with this span.
    • updateDrawState

      public void updateDrawState(@Nonnull TextPaint ds)
      Makes the text underlined and in the link color.
      Specified by:
      updateDrawState in class CharacterStyle
    • getId

      @Internal public final int getId()
      Get the unique ID for this span.
      Returns:
      The unique ID.