Build 1.0_r1(from source)

android.text
Class SpannableStringBuilder

java.lang.Object
  extended by android.text.SpannableStringBuilder
All Implemented Interfaces:
Editable, GetChars, GraphicsOperations, Spannable, Spanned, Appendable, CharSequence

public class SpannableStringBuilder
extends Object
implements CharSequence, GetChars, Spannable, Editable, Appendable, GraphicsOperations

This is the class for text whose content and markup can both be changed.


Nested Class Summary
 
Nested classes/interfaces inherited from interface android.text.Editable
Editable.Factory
 
Field Summary
 
Fields inherited from interface android.text.Spanned
SPAN_EXCLUSIVE_EXCLUSIVE, SPAN_EXCLUSIVE_INCLUSIVE, SPAN_INCLUSIVE_EXCLUSIVE, SPAN_INCLUSIVE_INCLUSIVE, SPAN_MARK_MARK, SPAN_MARK_POINT, SPAN_PARAGRAPH, SPAN_POINT_MARK, SPAN_POINT_POINT, SPAN_PRIORITY, SPAN_PRIORITY_SHIFT, SPAN_USER, SPAN_USER_SHIFT
 
Constructor Summary
SpannableStringBuilder()
          Create a new SpannableStringBuilder with empty contents
SpannableStringBuilder(CharSequence text)
          Create a new SpannableStringBuilder containing a copy of the specified text, including its spans if any.
SpannableStringBuilder(CharSequence text, int start, int end)
          Create a new SpannableStringBuilder containing a copy of the specified slice of the specified text, including its spans if any.
 
Method Summary
 SpannableStringBuilder append(char text)
          Convenience for append(String.valueOf(text)).
 SpannableStringBuilder append(CharSequence text)
          Convenience for replace(length(), length(), text, 0, text.length())
 SpannableStringBuilder append(CharSequence text, int start, int end)
          Convenience for replace(length(), length(), text, start, end)
 char charAt(int where)
          Return the char at the specified offset within the buffer.
 void clear()
          Convenience for replace(0, length(), "", 0, 0)
 void clearSpans()
          Removes all spans from the Editable, as if by calling Spannable.removeSpan(java.lang.Object) on each of them.
 SpannableStringBuilder delete(int start, int end)
          Convenience for replace(st, en, "", 0, 0)
 void drawText(Canvas c, int start, int end, float x, float y, Paint p)
          Don't call this yourself -- exists for Canvas to use internally.
 void getChars(int start, int end, char[] dest, int destoff)
          Copy the specified range of chars from this buffer into the specified array, beginning at the specified offset.
 InputFilter[] getFilters()
          Returns the array of input filters that are currently applied to changes to this Editable.
 int getSpanEnd(Object what)
          Return the buffer offset of the end of the specified markup object, or -1 if it is not attached to this buffer.
 int getSpanFlags(Object what)
          Return the flags of the end of the specified markup object, or 0 if it is not attached to this buffer.
<T> T[]
getSpans(int queryStart, int queryEnd, Class<T> kind)
          Return an array of the spans of the specified type that overlap the specified range of the buffer.
 int getSpanStart(Object what)
          Return the buffer offset of the beginning of the specified markup object, or -1 if it is not attached to this buffer.
 int getTextWidths(int start, int end, float[] widths, Paint p)
          Don't call this yourself -- exists for Paint to use internally.
 SpannableStringBuilder insert(int where, CharSequence tb)
          Convenience for replace(where, where, text, 0, text.length());
 SpannableStringBuilder insert(int where, CharSequence tb, int start, int end)
          Convenience for replace(where, where, text, start, end)
 int length()
          Return the number of chars in the buffer.
 float measureText(int start, int end, Paint p)
          Don't call this yourself -- exists for Paint to use internally.
 int nextSpanTransition(int start, int limit, Class kind)
          Return the next offset after start but less than or equal to limit where a span of the specified type begins or ends.
 void removeSpan(Object what)
          Remove the specified markup object from the buffer.
 SpannableStringBuilder replace(int start, int end, CharSequence tb)
          Convenience for replace(st, en, text, 0, text.length())
 SpannableStringBuilder replace(int start, int end, CharSequence tb, int tbstart, int tbend)
          Replaces the specified range (st…en) of text in this Editable with a copy of the slice start…end from source.
 void setFilters(InputFilter[] filters)
          Sets the series of filters that will be called in succession whenever the text of this Editable is changed, each of which has the opportunity to limit or transform the text that is being inserted.
 void setSpan(Object what, int start, int end, int flags)
          Mark the specified range of text with the specified object.
 CharSequence subSequence(int start, int end)
          Return a new CharSequence containing a copy of the specified range of this buffer, including the overlapping spans.
 String toString()
          Return a String containing a copy of the chars in this buffer.
static SpannableStringBuilder valueOf(CharSequence source)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SpannableStringBuilder

public SpannableStringBuilder()
Create a new SpannableStringBuilder with empty contents


SpannableStringBuilder

public SpannableStringBuilder(CharSequence text)
Create a new SpannableStringBuilder containing a copy of the specified text, including its spans if any.


SpannableStringBuilder

public SpannableStringBuilder(CharSequence text,
                              int start,
                              int end)
Create a new SpannableStringBuilder containing a copy of the specified slice of the specified text, including its spans if any.

Method Detail

valueOf

public static SpannableStringBuilder valueOf(CharSequence source)

charAt

public char charAt(int where)
Return the char at the specified offset within the buffer.

Specified by:
charAt in interface CharSequence
Parameters:
where - The index of the character to return
Returns:
The requested character

length

public int length()
Return the number of chars in the buffer.

Specified by:
length in interface CharSequence
Returns:
the number of characters in the sequence

insert

public SpannableStringBuilder insert(int where,
                                     CharSequence tb,
                                     int start,
                                     int end)
Description copied from interface: Editable
Convenience for replace(where, where, text, start, end)

Specified by:
insert in interface Editable
See Also:
Editable.replace(int, int, CharSequence, int, int)

insert

public SpannableStringBuilder insert(int where,
                                     CharSequence tb)
Description copied from interface: Editable
Convenience for replace(where, where, text, 0, text.length());

Specified by:
insert in interface Editable
See Also:
Editable.replace(int, int, CharSequence, int, int)

delete

public SpannableStringBuilder delete(int start,
                                     int end)
Description copied from interface: Editable
Convenience for replace(st, en, "", 0, 0)

Specified by:
delete in interface Editable
See Also:
Editable.replace(int, int, CharSequence, int, int)

clear

public void clear()
Description copied from interface: Editable
Convenience for replace(0, length(), "", 0, 0)

Specified by:
clear in interface Editable
See Also:
Note that this clears the text, not the spans; use {@link #clearSpans} if you need that.

clearSpans

public void clearSpans()
Description copied from interface: Editable
Removes all spans from the Editable, as if by calling Spannable.removeSpan(java.lang.Object) on each of them.

Specified by:
clearSpans in interface Editable

append

public SpannableStringBuilder append(CharSequence text)
Description copied from interface: Editable
Convenience for replace(length(), length(), text, 0, text.length())

Specified by:
append in interface Editable
Specified by:
append in interface Appendable
Parameters:
text - the CharSequence to be append
Returns:
this Appendable
See Also:
Editable.replace(int, int, CharSequence, int, int)

append

public SpannableStringBuilder append(CharSequence text,
                                     int start,
                                     int end)
Description copied from interface: Editable
Convenience for replace(length(), length(), text, start, end)

Specified by:
append in interface Editable
Specified by:
append in interface Appendable
Parameters:
text - the CharSequence to be append
start - the index to spicify the start position of CharSequence to be append, must be non-negative, and not larger than the end
end - the index to speicify the end position of CharSequence to be append, must be non-negative, and not larger than the size of csq
Returns:
this Appendable
See Also:
Editable.replace(int, int, CharSequence, int, int)

append

public SpannableStringBuilder append(char text)
Description copied from interface: Editable
Convenience for append(String.valueOf(text)).

Specified by:
append in interface Editable
Specified by:
append in interface Appendable
Parameters:
text - the character to append
Returns:
this Appendable
See Also:
Editable.replace(int, int, CharSequence, int, int)

replace

public SpannableStringBuilder replace(int start,
                                      int end,
                                      CharSequence tb)
Description copied from interface: Editable
Convenience for replace(st, en, text, 0, text.length())

Specified by:
replace in interface Editable
See Also:
Editable.replace(int, int, CharSequence, int, int)

replace

public SpannableStringBuilder replace(int start,
                                      int end,
                                      CharSequence tb,
                                      int tbstart,
                                      int tbend)
Description copied from interface: Editable
Replaces the specified range (st…en) of text in this Editable with a copy of the slice start…end from source. The destination slice may be empty, in which case the operation is an insertion, or the source slice may be empty, in which case the operation is a deletion.

Before the change is committed, each filter that was set with Editable.setFilters(android.text.InputFilter[]) is given the opportunity to modify the source text.

If source is Spanned, the spans from it are preserved into the Editable. Existing spans within the Editable that entirely cover the replaced range are retained, but any that were strictly within the range that was replaced are removed. As a special case, the cursor position is preserved even when the entire range where it is located is replaced.

Specified by:
replace in interface Editable
Returns:
a reference to this object.

setSpan

public void setSpan(Object what,
                    int start,
                    int end,
                    int flags)
Mark the specified range of text with the specified object. The flags determine how the span will behave when text is inserted at the start or end of the span's range.

Specified by:
setSpan in interface Spannable

removeSpan

public void removeSpan(Object what)
Remove the specified markup object from the buffer.

Specified by:
removeSpan in interface Spannable

getSpanStart

public int getSpanStart(Object what)
Return the buffer offset of the beginning of the specified markup object, or -1 if it is not attached to this buffer.

Specified by:
getSpanStart in interface Spanned

getSpanEnd

public int getSpanEnd(Object what)
Return the buffer offset of the end of the specified markup object, or -1 if it is not attached to this buffer.

Specified by:
getSpanEnd in interface Spanned

getSpanFlags

public int getSpanFlags(Object what)
Return the flags of the end of the specified markup object, or 0 if it is not attached to this buffer.

Specified by:
getSpanFlags in interface Spanned

getSpans

public <T> T[] getSpans(int queryStart,
                        int queryEnd,
                        Class<T> kind)
Return an array of the spans of the specified type that overlap the specified range of the buffer. The kind may be Object.class to get a list of all the spans regardless of type.

Specified by:
getSpans in interface Spanned

nextSpanTransition

public int nextSpanTransition(int start,
                              int limit,
                              Class kind)
Return the next offset after start but less than or equal to limit where a span of the specified type begins or ends.

Specified by:
nextSpanTransition in interface Spanned

subSequence

public CharSequence subSequence(int start,
                                int end)
Return a new CharSequence containing a copy of the specified range of this buffer, including the overlapping spans.

Specified by:
subSequence in interface CharSequence
Parameters:
start - The starting offset of the sub-sequence, that is, the index of the first character that goes into the sub-sequence
end - The ending offset of the sub-sequence, that is, the index of the first character after those that go into the sub-sequence
Returns:
The requested sub-sequence

getChars

public void getChars(int start,
                     int end,
                     char[] dest,
                     int destoff)
Copy the specified range of chars from this buffer into the specified array, beginning at the specified offset.

Specified by:
getChars in interface GetChars

toString

public String toString()
Return a String containing a copy of the chars in this buffer.

Specified by:
toString in interface CharSequence
Overrides:
toString in class Object
Returns:
String a printable representation for the receiver.

drawText

public void drawText(Canvas c,
                     int start,
                     int end,
                     float x,
                     float y,
                     Paint p)
Don't call this yourself -- exists for Canvas to use internally.

Specified by:
drawText in interface GraphicsOperations

measureText

public float measureText(int start,
                         int end,
                         Paint p)
Don't call this yourself -- exists for Paint to use internally.

Specified by:
measureText in interface GraphicsOperations

getTextWidths

public int getTextWidths(int start,
                         int end,
                         float[] widths,
                         Paint p)
Don't call this yourself -- exists for Paint to use internally.

Specified by:
getTextWidths in interface GraphicsOperations

setFilters

public void setFilters(InputFilter[] filters)
Description copied from interface: Editable
Sets the series of filters that will be called in succession whenever the text of this Editable is changed, each of which has the opportunity to limit or transform the text that is being inserted.

Specified by:
setFilters in interface Editable

getFilters

public InputFilter[] getFilters()
Description copied from interface: Editable
Returns the array of input filters that are currently applied to changes to this Editable.

Specified by:
getFilters in interface Editable

Build 1.0_r1(from source)

Please submit a feedback, bug or feature