When copying String from any browser page, pasteData works properly.
However when copying SpannedString from a message sent item editor(field), the application crashes and shows this error message:
java.lang.ClassCastException: android.text.SpannableString cannot be cast to java.lang.String
My code:
// 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();
where the ClipboardManager instance defined as clipBoard, below:
clipBoard = (ClipboardManager) context.getSystemService(context.CLIPBOARD_SERVICE); clipBoard.addPrimaryClipChangedListener(new ClipboardListener());
All I’m trying to do is use pasteData in String format.
How to get rid of this error?
Any help is appreciated.
Advertisement
Answer
SpannableString is not String directly. so, you can not cast. but, it can be converted to string. you can convert something to string with concatenating with empty string.
pasteData = "" + item.getText();