¿Por qué mostrar java.lang.ClassCastException: android.text.SpannableString no se puede transmitir a java.lang.String?

Al copiar String desde cualquier página del navegador, pasteData funciona correctamente. Sin embargo, al copiar SpannedString desde un mensaje enviado elemento editor (campo), la aplicación se bloquea y muestra este mensaje de error:

 java.lang.ClassCastException: android.text.SpannableString cannot be cast to java.lang.String 

Mi código:

 // since the clipboard contains plain text. ClipData.Item item = clipBoard.getPrimaryClip().getItemAt(0); // Gets the clipboard as text. String pasteData = new String(); pasteData = (String) item.getText(); 

Donde la instancia ClipboardManager definida como clipBoard , a continuación:

 clipBoard = (ClipboardManager) context.getSystemService(context.CLIPBOARD_SERVICE); clipBoard.addPrimaryClipChangedListener(new ClipboardListener()); 

Todo lo que estoy tratando de hacer es utilizar pasteData en formato de String . ¿Cómo deshacerse de este error? Cualquier ayuda es apreciada.

SpannableString no es String directamente. Por lo tanto, no se puede emitir. Pero, se puede convertir en cadena. Puede convertir algo a cadena con concatenación con cadena vacía.

 pasteData = "" + item.getText(); 

De CharSequence.toString ()

Devuelve una cadena con los mismos caracteres en el mismo orden que en esta secuencia.

Necesitas usar el siguiente código.

 String pasteData = item.getText().toString(); 

No se puede emitir a android.text.SpannableString porque item.getText() devuelve CharSequence , hay un montón de implementaciones de la misma

Si su texto Spanned solo contiene contenido HTML entonces puede convertirlo usando Html.toHtml()

 String htmlString = Html.toHtml(spannedText); 
  • SpannableString: ¿Es posible aplicar dos o más RelativeSizeSpans?
  • Obtener Spannable String de EditText
  • Android: cómo determinar la última letra totalmente visible en TextView?
  • Altura de línea de Android Spannable
  • Android Justify spanable Visualización de texto compatible con RTL Languages
  • Android - Agregar margen para SpannableStringBuilder con ReplacementSpan
  • ¿Cómo alinear el texto tanto a la izquierda como a la derecha de una línea TextView?
  • Alinear mapa de bits en SpannableStringBuilder
  • Creación de softkey con emoji personalizado
  • Android EditText: ¿Cómo crear un párrafo de viñeta vacío de BulletSpan?
  • Cómo romper el texto de estilo en las páginas en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.