Added in API level 1

SpannableString


open class SpannableString : CharSequence, GetChars, Spannable
kotlin.Any
   ↳ android.text.SpannableString

This is the class for text whose content is immutable but to which markup objects can be attached and detached. For mutable text, see SpannableStringBuilder.

Summary

Public constructors

For the backward compatibility reasons, this constructor copies all spans including android.text.NoCopySpan.

Public methods
open Boolean
equals(other: Any?)

Indicates whether some other object is "equal to" this one.

Char
get(i: Int)

Unit
getChars(start: Int, end: Int, dest: CharArray!, off: Int)

open Int
getSpanEnd(what: Any!)

open Int
getSpanFlags(what: Any!)

open Int
getSpanStart(what: Any!)

open Array<T>!
getSpans(queryStart: Int, queryEnd: Int, kind: Class<T>!)

open Int

Returns a hash code value for the object.

open Int
nextSpanTransition(start: Int, limit: Int, kind: Class<Any!>!)

open Unit
removeSpan(what: Any!)

Remove the specified object from the range of text to which it was attached, if any.

open Unit
setSpan(what: Any!, start: Int, end: Int, flags: Int)

Attach the specified markup object to the range start…end of the text, or move the object to that range if it was already attached elsewhere.

CharSequence
subSequence(startIndex: Int, endIndex: Int)

Returns a CharSequence that is a subsequence of this sequence.

String

Returns a string representation of the object.

open static SpannableString!

Properties
Int

Public constructors

SpannableString

Added in API level 1
SpannableString(source: CharSequence!)

For the backward compatibility reasons, this constructor copies all spans including android.text.NoCopySpan.

Parameters
source CharSequence!: source text

Public methods

equals

Added in API level 1
open fun equals(other: Any?): Boolean

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj the reference object with which to compare.
o This value may be null.
Return
Boolean true if this object is the same as the obj argument; false otherwise.

get

Added in API level 1
fun get(i: Int): Char
Parameters
index the index of the char value to be returned
Return
Char the specified char value
Exceptions
java.lang.IndexOutOfBoundsException if the index argument is negative or not less than length()

getChars

Added in API level 1
fun getChars(
    start: Int,
    end: Int,
    dest: CharArray!,
    off: Int
): Unit

getSpanEnd

Added in API level 1
open fun getSpanEnd(what: Any!): Int

getSpanFlags

Added in API level 1
open fun getSpanFlags(what: Any!): Int

getSpanStart

Added in API level 1
open fun getSpanStart(what: Any!): Int

getSpans

Added in API level 1
open fun <T : Any!> getSpans(
    queryStart: Int,
    queryEnd: Int,
    kind: Class<T>!
): Array<T>!

hashCode

Added in API level 1
open fun hashCode(): Int

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Return
Int a hash code value for this object.

nextSpanTransition

Added in API level 1
open fun nextSpanTransition(
    start: Int,
    limit: Int,
    kind: Class<Any!>!
): Int

removeSpan

Added in API level 1
open fun removeSpan(what: Any!): Unit

Remove the specified object from the range of text to which it was attached, if any. It is OK to remove an object that was never attached in the first place.

setSpan

Added in API level 1
open fun setSpan(
    what: Any!,
    start: Int,
    end: Int,
    flags: Int
): Unit

Attach the specified markup object to the range start…end of the text, or move the object to that range if it was already attached elsewhere. See Spanned for an explanation of what the flags mean. The object can be one that has meaning only within your application, or it can be one that the text system will use to affect text display or behavior. Some noteworthy ones are the subclasses of android.text.style.CharacterStyle and android.text.style.ParagraphStyle, and android.text.TextWatcher and android.text.SpanWatcher.

subSequence

Added in API level 1
fun subSequence(
    startIndex: Int,
    endIndex: Int
): CharSequence

Returns a CharSequence that is a subsequence of this sequence. The subsequence starts with the char value at the specified index and ends with the char value at index end - 1. The length (in chars) of the returned sequence is end - start, so if start == end then an empty sequence is returned.

Parameters
start the start index, inclusive
end the end index, exclusive
Return
CharSequence the specified subsequence
Exceptions
java.lang.IndexOutOfBoundsException if start or end are negative, if end is greater than length(), or if start is greater than end

toString

Added in API level 1
fun toString(): String

Returns a string representation of the object.

Return
String a string consisting of exactly this sequence of characters

valueOf

Added in API level 1
open static fun valueOf(source: CharSequence!): SpannableString!

Properties

length

Added in API level 1
val length: Int
Return
Int the number of chars in this sequence