Package icyllis.modernui.text.style

# 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 Summary

  Constructors
  Constructor
  Description
  `ClickableSpan()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final int`
  `getId()`
  Get the unique ID for this span.
  `abstract void`
  `onClick(View widget)`
  Performs the click action associated with this span.
  `void`
  `updateDrawState(TextPaint ds)`
  Makes the text underlined and in the link color.

  ### Methods inherited from class icyllis.modernui.text.style.CharacterStyle

  `getUnderlying, wrap`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## 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.