0

效果時,我決定添加下劃線EffectLabel,並從here做一步一步,但由於某些原因,每當我有Label這個Effect,我的應用程序崩潰的Android和iOS。有了診斷日誌,仍然沒有消息,可以說我問題在哪裏。實際上,它開始渲染我的View這個Label,之後,我的應用程序變得不活躍,手機打開它的主屏幕,並在VS中,調試立即停止。在Android設備日誌我發現這一點:NullPointerException異常使用與Xamarin

enter image description here 在IOS設備上的日誌:

enter image description here

的代碼是類似於從上面的鏈接的代碼。 我已經試圖找到一些原因,實際上,我沒有。我試圖強硬的名字。此外,在班級或平臺特定的班級中沒有任何一個斷點達到。例如,如果我評論ResolutionGroupName屬性,該應用程序將運行並顯示Label,但確定沒有下劃線。

UPDATE

對不起,也許有錯誤的iOS畫面是不相關的當前問題。但我有一個可能是:

enter image description here

+0

添加您的代碼,請幫助您。 –

+0

什麼是觀點?閱讀這個問題會更困難。我沒有添加一些特定的代碼。我只添加了上述鏈接中的代碼。 –

+0

在效果中放置了一些斷點,我在'OnElementPropertyChanged'方法中看到了一些行,例如'args.PropertyName == Label.TextProperty.PropertyName'。確保'args'不是'null'。 –

回答

3

如果您使用從博客相同的代碼,然後確保該平臺的具體效果清晰正確寫入。

防爆android系統:

[assembly: ResolutionGroupName(NameSpace.SharedEffectName.EffectNamespace)] 
[assembly: ExportEffect(typeof(NameSpace.Droid.UnderlineEffect), nameof(Namespace.UnderlineEffect))] 

這應該修正這個錯誤。

+0

謝謝。問題是,沒有清除ExportEffect應該是什麼類型。我使用了PCL UnderlineEffect而不是特定的平臺。而且我之前嘗試過,但還有其他問題,所以我沒有注意到這一點。 –

+0

所以,如果_would_發佈你的代碼很有用,並且_was_有所不同......;) –

+0

只是爲了澄清,如果其他人有這個問題,並不確定上述代碼中有什麼不同,請注意提供的* namespace *到'ExportEffect' - 這是爲了確保被引用的類是特定於平臺的類(例如在'iOS'或'Droid'命名空間中)而不是forms/base類。 – Pete