public class SpannableString
extends Object
implements CharSequence, GetChars, Spannable
java.lang.Object | |
↳ | android.text.SpannableString |
这是文本的类,其内容是不可变的,但标记对象可以附加和分离。 有关可变文本,请参阅SpannableStringBuilder
。
Inherited constants |
---|
From interface android.text.Spanned
|
Public constructors |
|
---|---|
SpannableString(CharSequence source) |
Public methods |
|
---|---|
final char |
charAt(int i) 返回指定索引处的值 |
boolean |
equals(Object o) 指示其他某个对象是否“等于”这一个。 |
final void |
getChars(int start, int end, char[] dest, int off) 完全像String.getChars():将字符 |
int |
getSpanEnd(Object what) 返回指定标记对象附加到的文本范围的末尾,如果对象未附加,则返回-1。 |
int |
getSpanFlags(Object what) 返回 |
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) 返回所述第一偏移大于 |
void |
removeSpan(Object what) |
void |
setSpan(Object what, int start, int end, int flags) |
final CharSequence |
subSequence(int start, int end) 返回一个新的 |
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
|
SpannableString (CharSequence source)
Parameters | |
---|---|
source |
CharSequence
|
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 |
boolean equals (Object o)
指示其他某个对象是否“等于”这一个。
equals
方法在非空对象引用上实现等价关系:
x
, x.equals(x)
should return true
. x
and y
, x.equals(y)
should return true
if and only if y.equals(x)
returns true
. x
, y
, and z
, if x.equals(y)
returns true
and y.equals(z)
returns true
, then x.equals(z)
should return true
. 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. x
, x.equals(null)
should return false
. 类Object
的equals
方法实现了对象上最可能的等价关系; 也就是说,对于任何非空参考值x
和y
,当且仅当x
和y
引用同一对象( 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. |
void getChars (int start, int end, char[] dest, int off)
完全像String.getChars():将字符 start
到 end - 1
从此CharSequence复制到 dest
从偏移量 destoff
开始。
Parameters | |
---|---|
start |
int
|
end |
int
|
dest |
char
|
off |
int
|
int getSpanEnd (Object what)
返回指定标记对象附加到的文本范围的末尾,如果对象未附加,则返回-1。
Parameters | |
---|---|
what |
Object
|
Returns | |
---|---|
int |
int getSpanFlags (Object what)
返回 setSpan(Object, int, int, int)
用于附加指定标记对象时指定的标志,如果指定的对象尚未附加,则返回0。
Parameters | |
---|---|
what |
Object
|
Returns | |
---|---|
int |
int getSpanStart (Object what)
返回指定标记对象附加到的文本范围的开始位置,如果未附加对象,则返回-1。
Parameters | |
---|---|
what |
Object
|
Returns | |
---|---|
int |
T[] getSpans (int queryStart, int queryEnd, Class<T> kind)
返回附加到此CharSequence的指定切片并且其类型是指定类型或其子类的标记对象的数组。 如果您想要所有对象而不考虑类型,请指定Object.class作为类型。
Parameters | |
---|---|
queryStart |
int
|
queryEnd |
int
|
kind |
Class
|
Returns | |
---|---|
T[] |
int hashCode ()
返回对象的哈希码值。 为了散列表的好处而支持该方法,例如由HashMap
提供的HashMap
。
hashCode
的总合同是:
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. equals(Object)
method, then calling the hashCode
method on each of the two objects must produce the same integer result. 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. |
int length ()
返回此字符序列的长度。 长度是序列中16位char
的数量。
Returns | |
---|---|
int |
the number of char s in this sequence |
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 |
void setSpan (Object what, int start, int end, int flags)
Parameters | |
---|---|
what |
Object
|
start |
int
|
end |
int
|
flags |
int
|
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 |
String toString ()
返回对象的字符串表示形式。 通常, toString
方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。
类Object
的toString
方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @
”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |
SpannableString valueOf (CharSequence source)
Parameters | |
---|---|
source |
CharSequence
|
Returns | |
---|---|
SpannableString |