对Xamarin使用效果时出现NullPointerException
我决定为对Xamarin使用效果时出现NullPointerException,xamarin,xamarin.ios,xamarin.android,xamarin.forms,custom-renderer,Xamarin,Xamarin.ios,Xamarin.android,Xamarin.forms,Custom Renderer,我决定为标签添加下划线效果,并从开始一步一步地添加,但出于某种原因,每当我有标签效果时,我的应用程序在Android和iOS上都会崩溃。对于诊断日志,仍然没有消息,可以告诉我问题出在哪里。实际上,它只是开始用这个标签呈现我的视图,然后我的应用程序就不活跃了,手机会打开它的主屏幕,在VS中,调试会立即停止。在Android设备日志中,我发现: 在iOS设备日志中: 该代码与上面链接中的代码类似。 我已经试着找到一些原因,但事实上,我没有。我试着用硬核的名字。此外,类或平台特定类中没有任何断点。
标签添加下划线效果
,并从开始一步一步地添加,但出于某种原因,每当我有标签
效果时,我的应用程序在Android和iOS上都会崩溃。对于诊断日志,仍然没有消息,可以告诉我问题出在哪里。实际上,它只是开始用这个标签呈现我的视图
,然后我的应用程序就不活跃了,手机会打开它的主屏幕,在VS中,调试会立即停止。在Android设备日志中,我发现:
在iOS设备日志中:
该代码与上面链接中的代码类似。
我已经试着找到一些原因,但事实上,我没有。我试着用硬核的名字。此外,类或平台特定类中没有任何断点。例如,如果我对ResolutionGroupName
属性进行注释,则应用程序将工作,并显示Label
,但确保没有下划线
更新
抱歉,可能iOS屏幕截图有错误与当前问题无关。但我有一个可能是:
如果您使用的代码与博客中的代码相同,请确保平台特定的效果定义编写正确
android中的Ex:
[assembly: ResolutionGroupName(NameSpace.SharedEffectName.EffectNamespace)]
[assembly: ExportEffect(typeof(NameSpace.Droid.UnderlineEffect), nameof(Namespace.UnderlineEffect))]
这将修复错误。如果您使用的代码与博客中的代码相同,请确保平台特定的效果定义编写正确
android中的Ex:
[assembly: ResolutionGroupName(NameSpace.SharedEffectName.EffectNamespace)]
[assembly: ExportEffect(typeof(NameSpace.Droid.UnderlineEffect), nameof(Namespace.UnderlineEffect))]
这将修复错误。请添加代码,这样会更容易帮助您。有什么意义?阅读这个问题会更难。我还没有添加一些特定的代码。我只添加了上面链接中的代码。在效果中添加了一些断点,我在OnElementPropertyChanged
方法中看到了一些行,如args.PropertyName==Label.TextProperty.PropertyName
。确保args
不是null
@GeraldVersluis在我的情况下,断点永远不会到达特定于平台的代码,因此它没有意义。已经有了答案。如果有人有我在iOS日志的第一个屏幕截图上看到的相同错误,那么请尝试清除并重建解决方案。请添加您的代码,这样会更容易帮助您。有什么意义?阅读这个问题会更难。我还没有添加一些特定的代码。我只添加了上面链接中的代码。在效果中添加了一些断点,我在OnElementPropertyChanged
方法中看到了一些行,如args.PropertyName==Label.TextProperty.PropertyName
。确保args
不是null
@GeraldVersluis在我的情况下,断点永远不会到达特定于平台的代码,因此它没有意义。已经有了答案。如果有人有和我在iOS日志的第一个屏幕截图上看到的相同的错误,那么请尝试清除并重建解决方案。谢谢。问题是,并没有关于什么类型的出口有效的许可。我使用了PCL UnderlineEffect,而不是特定于平台。我以前确实试过这个,但还有其他问题,所以我没有注意到。所以如果发布代码会有用,那么会有不同之处……)为了澄清这一点,如果其他人有这个问题,并且不确定上面的代码有什么不同,请注意提供给ExportEffect
的名称空间-这是为了确保引用的类是特定于平台的类(例如,在iOS
或Droid
名称空间中),而不是表单/基类。谢谢。问题是,并没有关于什么类型的出口有效的许可。我使用了PCL UnderlineEffect,而不是特定于平台。我以前确实试过这个,但还有其他问题,所以我没有注意到。所以如果发布代码会有用,那么会有不同之处……)为了澄清这一点,如果其他人有这个问题,并且不确定上面的代码有什么不同,请注意提供给ExportEffect
的名称空间-这是为了确保引用的类是特定于平台的类(例如,在iOS
或Droid
名称空间中),而不是表单/基类。