UNHANDLED EXCEPTION: System.InvalidCastException: Cannot cast from source type to destination type.
06-11 19:39:01.690 I/MonoDroid(17577): at MyApp.Inbox.CorrespondenceActivity.CorrectLinkPaths (ISpanned spanText) [0x00000] in <filename unknown>:0
这是我遇到的例外。当使用调试配置构建应用程序时,一切正常 - 没有例外,没有什么。一旦我构建它以供发布,我就会遇到此异常 - 我无法弄清楚为什么以及如何修复它。
这是调用方法 CorrectLinkPaths 的代码:
_someTextView.SetText(CorrectLinkPaths(Html.FromHtml(_myMessage.Summary + "\n\n" + _myMessage.Body)), TextView.BufferType.Spannable);
不用说,_myMessage.Summary 和 Body 是 HTML 字符串。
我的 CorrectLinkPaths 方法如下所示:
private ISpanned CorrectLinkPaths(ISpanned spanText)
{
Object[] spans = spanText.GetSpans(0, spanText.Length(), Class.FromType(typeof (Object)));
foreach (var s in spans)
{
int start = spanText.GetSpanStart(s);
int end = spanText.GetSpanEnd(s);
SpanTypes flags = spanText.GetSpanFlags(s);
if (s.GetType() == typeof (URLSpan))
{
var urlSpan = (URLSpan) s;
if (!urlSpan.URL.StartsWith("http"))
{
if (urlSpan.URL.StartsWith("/"))
urlSpan = new URLSpan("http://www.mydomain.com" + urlSpan.URL);
else
urlSpan = new URLSpan("http://www.mydomain.com/" + urlSpan.URL);
}
((ISpannable) spanText).RemoveSpan(s);
((ISpannable) spanText).SetSpan(urlSpan, start, end, flags);
}
}
return spanText;
}
有谁知道为什么这在调试期间有效,但当我尝试构建发布时失败,以及如何修复它?我将非常非常非常感激!
谢谢 :)
此致。