Most visited

Recently visited

Added in API level 1

SpannableString

public class SpannableString
extends Object implements CharSequence, GetChars, Spannable

java.lang.Object
   ↳ android.text.SpannableString


这是文本的类,其内容是不可变的,但标记对象可以附加和分离。 有关可变文本,请参阅SpannableStringBuilder

Summary

Inherited constants

From interface android.text.Spanned

Public constructors

SpannableString(CharSequence source)

Public methods

final char charAt(int i)

返回指定索引处的值 char

boolean equals(Object o)

指示其他某个对象是否“等于”这一个。

final void getChars(int start, int end, char[] dest, int off)

完全像String.getChars():将字符 startend - 1从此CharSequence复制到 dest从偏移量 destoff开始。

int getSpanEnd(Object what)

返回指定标记对象附加到的文本范围的末尾,如果对象未附加,则返回-1。

int getSpanFlags(Object what)

返回 setSpan(Object, int, int, int)用于附加指定标记对象时指定的标志,如果指定的对象尚未附加,则返回0。

int getSpanStart(Object what)

返回指定标记对象附加到的文本范围的开始位置,如果未附加对象,则返回-1。

<T> T[] getSpans(int queryStart, int queryEnd, Class<T> kind)

返回附加到此CharSequence的指定切片并且其类型是指定类型或其子类的标记对象的数组。

int hashCode()

返回对象的哈希码值。

final int length()

返回此字符序列的长度。

int nextSpanTransition(int start, int limit, Class kind)

返回所述第一偏移大于 start其中类的标记对象 type开始或结束,或 limit如果没有开始或结束大于 start但小于 limit

void removeSpan(Object what)
void setSpan(Object what, int start, int end, int flags)
final CharSequence subSequence(int start, int end)

返回一个新的 CharSequence ,它是这个序列的子序列。

final String toString()

返回对象的字符串表示形式。

static SpannableString valueOf(CharSequence source)

Inherited methods

From class java.lang.Object
From interface java.lang.CharSequence
From interface android.text.GetChars
From interface android.text.Spannable
From interface android.text.Spanned

Public constructors

SpannableString

Added in API level 1
SpannableString (CharSequence source)

Parameters
source CharSequence

Public methods

charAt

Added in API level 1
char charAt (int i)

返回指定索引处的值char 索引范围从0到length() - 1 序列的第一个char值位于索引零,下一个位于索引1,依此类推,如同数组索引。

如果索引指定的 char值为 surrogate ,则返回代理值。

Parameters
i int: the index of the char value to be returned
Returns
char the specified char value

equals

Added in API level 1
boolean equals (Object o)

指示其他某个对象是否“等于”这一个。

equals方法在非空对象引用上实现等价关系:

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

Objectequals方法实现了对象上最可能的等价关系; 也就是说,对于任何非空参考值xy ,当且仅当xy引用同一对象( x == y的值为true )时,此方法才返回true

请注意,无论何时重写此方法,通常都必须重写 hashCode方法,以便维护 hashCode方法的一般合同,该方法声明等同对象必须具有相同的哈希码。

Parameters
o Object: the reference object with which to compare.
Returns
boolean true if this object is the same as the obj argument; false otherwise.

getChars

Added in API level 1
void getChars (int start, 
                int end, 
                char[] dest, 
                int off)

完全像String.getChars():将字符 startend - 1从此CharSequence复制到 dest从偏移量 destoff开始。

Parameters
start int
end int
dest char
off int

getSpanEnd

Added in API level 1
int getSpanEnd (Object what)

返回指定标记对象附加到的文本范围的末尾,如果对象未附加,则返回-1。

Parameters
what Object
Returns
int

getSpanFlags

Added in API level 1
int getSpanFlags (Object what)

返回 setSpan(Object, int, int, int)用于附加指定标记对象时指定的标志,如果指定的对象尚未附加,则返回0。

Parameters
what Object
Returns
int

getSpanStart

Added in API level 1
int getSpanStart (Object what)

返回指定标记对象附加到的文本范围的开始位置,如果未附加对象,则返回-1。

Parameters
what Object
Returns
int

getSpans

Added in API level 1
T[] getSpans (int queryStart, 
                int queryEnd, 
                Class<T> kind)

返回附加到此CharSequence的指定切片并且其类型是指定类型或其子类的标记对象的数组。 如果您想要所有对象而不考虑类型,请指定Object.class作为类型。

Parameters
queryStart int
queryEnd int
kind Class
Returns
T[]

hashCode

Added in API level 1
int hashCode ()

返回对象的哈希码值。 为了散列表的好处而支持该方法,例如由HashMap提供的HashMap

hashCode的总合同是:

  • 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(Object) 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(java.lang.Object) 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.

尽可能合理实用,类Object定义的hashCode方法确实为不同的对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但Java TM编程语言不需要此实现技术。)

Returns
int a hash code value for this object.

length

Added in API level 1
int length ()

返回此字符序列的长度。 长度是序列中16位char的数量。

Returns
int the number of chars in this sequence

nextSpanTransition

Added in API level 1
int nextSpanTransition (int start, 
                int limit, 
                Class kind)

返回所述第一偏移大于start其中类的标记对象type开始或结束,或limit如果没有开始或结束大于start但小于limit 如果您希望每次转换而不考虑类型,请指定null或Object.class作为类型。

Parameters
start int
limit int
kind Class
Returns
int

removeSpan

Added in API level 1
void removeSpan (Object what)

Parameters
what Object

setSpan

Added in API level 1
void setSpan (Object what, 
                int start, 
                int end, 
                int flags)

Parameters
what Object
start int
end int
flags int

subSequence

Added in API level 1
CharSequence subSequence (int start, 
                int end)

返回一个新的CharSequence ,它是这个序列的子序列。 该子序列与所述启动char指定索引处值和与所述结束char在索引end - 1值。 返回序列的长度( char s)为end - start ,所以如果start == end则返回空序列。

Parameters
start int: the start index, inclusive
end int: the end index, exclusive
Returns
CharSequence the specified subsequence

toString

Added in API level 1
String toString ()

返回对象的字符串表示形式。 通常, toString方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。

ObjecttoString方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @ ”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

valueOf

Added in API level 1
SpannableString valueOf (CharSequence source)

Parameters
source CharSequence
Returns
SpannableString

Hooray!