从任何浏览器页面复制String时,pasteData正常工作.
但是,从消息发送项目编辑器(字段)复制SpannedString时,应用程序崩溃并显示以下错误消息:
java.lang.ClassCastException: android.text.SpannableString cannot be cast to java.lang.String
我的代码:
// 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();
其中ClipboardManager实例定义为clipBoard,如下所示:
clipBoard = (ClipboardManager) context.getSystemService(context.CLIPBOARD_SERVICE);
clipBoard.addPrimaryClipChangedListener(new ClipboardListener());
我要做的就是以String格式使用pasteData.
如何摆脱这个错误?
任何帮助表示赞赏.
解决方法:
SpannableString不是直接的String.所以,你不能施展.但是,它可以转换为字符串.你可以将一些东西转换为字符串,并与空字符串连接.
pasteData = "" + item.getText();