to top
Android APIs
public static class

ClipData.Item

extends Object
java.lang.Object
   ↳ android.content.ClipData.Item

Class Overview

Description of a single item in a ClippedData.

The types than an individual item can currently contain are:

  • Text: a basic string of text. This is actually a CharSequence, so it can be formatted text supported by corresponding Android built-in style spans. (Custom application spans are not supported and will be stripped when transporting through the clipboard.)
  • Intent: an arbitrary Intent object. A typical use is the shortcut to create when pasting a clipped item on to the home screen.
  • Uri: a URI reference. This may be any URI (such as an http: URI representing a bookmark), however it is often a content: URI. Using content provider references as clips like this allows an application to share complex or large clips through the standard content provider facilities.

Summary

Public Constructors
ClipData.Item(CharSequence text)
Create an Item consisting of a single block of (possibly styled) text.
ClipData.Item(CharSequence text, String htmlText)
Create an Item consisting of a single block of (possibly styled) text, with an alternative HTML formatted representation.
ClipData.Item(Intent intent)
Create an Item consisting of an arbitrary Intent.
ClipData.Item(Uri uri)
Create an Item consisting of an arbitrary URI.
ClipData.Item(CharSequence text, Intent intent, Uri uri)
Create a complex Item, containing multiple representations of text, Intent, and/or URI.
ClipData.Item(CharSequence text, String htmlText, Intent intent, Uri uri)
Create a complex Item, containing multiple representations of text, HTML text, Intent, and/or URI.
Public Methods
String coerceToHtmlText(Context context)
Turn this item into HTML text, regardless of the type of data it actually contains.
CharSequence coerceToStyledText(Context context)
Like coerceToHtmlText(Context), but any text that would be returned as HTML formatting will be returned as text with style spans.
CharSequence coerceToText(Context context)
Turn this item into text, regardless of the type of data it actually contains.
String getHtmlText()
Retrieve the raw HTML text contained in this Item.
Intent getIntent()
Retrieve the raw Intent contained in this Item.
CharSequence getText()
Retrieve the raw text contained in this Item.
Uri getUri()
Retrieve the raw URI contained in this Item.
String toString()
Returns a string containing a concise, human-readable description of this object.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public ClipData.Item (CharSequence text)

Added in API level 11

Create an Item consisting of a single block of (possibly styled) text.

public ClipData.Item (CharSequence text, String htmlText)

Added in API level 16

Create an Item consisting of a single block of (possibly styled) text, with an alternative HTML formatted representation. You must supply a plain text representation in addition to HTML text; coercion will not be done from HTML formated text into plain text.

public ClipData.Item (Intent intent)

Added in API level 11

Create an Item consisting of an arbitrary Intent.

public ClipData.Item (Uri uri)

Added in API level 11

Create an Item consisting of an arbitrary URI.

public ClipData.Item (CharSequence text, Intent intent, Uri uri)

Added in API level 11

Create a complex Item, containing multiple representations of text, Intent, and/or URI.

public ClipData.Item (CharSequence text, String htmlText, Intent intent, Uri uri)

Added in API level 16

Create a complex Item, containing multiple representations of text, HTML text, Intent, and/or URI. If providing HTML text, you must supply a plain text representation as well; coercion will not be done from HTML formated text into plain text.

Public Methods

public String coerceToHtmlText (Context context)

Added in API level 16

Turn this item into HTML text, regardless of the type of data it actually contains.

The algorithm for deciding what text to return is:

  • If getHtmlText() is non-null, return that.
  • If getText() is non-null, return that, converting to valid HTML text. If this text contains style spans, Html.toHtml(Spanned) is used to convert them to HTML formatting.
  • If getUri() is non-null, try to retrieve its data as a text stream from its content provider. If the provider can supply text/html data, that will be preferred and returned as-is. Otherwise, any text/* data will be returned and escaped to HTML. If it is not a content: URI or the content provider does not supply a text representation, HTML text containing a link to the URI will be returned.
  • If getIntent() is non-null, convert that to an intent: URI and return as an HTML link.
  • Otherwise, return an empty string.

Parameters
context The caller's Context, from which its ContentResolver and other things can be retrieved.
Returns
  • Returns the item's representation as HTML text.

public CharSequence coerceToStyledText (Context context)

Added in API level 16

Like coerceToHtmlText(Context), but any text that would be returned as HTML formatting will be returned as text with style spans.

Parameters
context The caller's Context, from which its ContentResolver and other things can be retrieved.
Returns
  • Returns the item's textual representation.

public CharSequence coerceToText (Context context)

Added in API level 11

Turn this item into text, regardless of the type of data it actually contains.

The algorithm for deciding what text to return is:

  • If getText() is non-null, return that.
  • If getUri() is non-null, try to retrieve its data as a text stream from its content provider. If this succeeds, copy the text into a String and return it. If it is not a content: URI or the content provider does not supply a text representation, return the raw URI as a string.
  • If getIntent() is non-null, convert that to an intent: URI and return it.
  • Otherwise, return an empty string.

Parameters
context The caller's Context, from which its ContentResolver and other things can be retrieved.
Returns
  • Returns the item's textual representation.

public String getHtmlText ()

Added in API level 16

Retrieve the raw HTML text contained in this Item.

public Intent getIntent ()

Added in API level 11

Retrieve the raw Intent contained in this Item.

public CharSequence getText ()

Added in API level 11

Retrieve the raw text contained in this Item.

public Uri getUri ()

Added in API level 11

Retrieve the raw URI contained in this Item.

public String toString ()

Added in API level 11

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:

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

See Writing a useful toString method if you intend implementing your own toString method.

Returns
  • a printable representation of this object.