当动态更改背景时,Xamarin Custom Frame会导致Java.Lang.NullPointerException

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当动态更改背景时,Xamarin Custom Frame会导致Java.Lang.NullPointerException相关的知识,希望对你有一定的参考价值。

我有一个Xamarin Forms框架的自定义渲染器:CustomFrameRenderer。 Xaml示例如下

<controls:ExtendedFrame Margin="2,0,2,0"
                                    BackgroundColor="Red"
                                    HorizontalOptions="FillAndExpand"
                                    OutlineColor="Red"
                                    Padding="0,0,0,0">
<Label Text="This is a test"/>
</controls:ExtendedFrame>

问题是,如果我将背景颜色绑定到这样的属性,

 <controls:ExtendedFrame Margin="2,0,2,0"
                                    BackgroundColor="{Binding FrameBackground}"
                                    HorizontalOptions="FillAndExpand"
                                    OutlineColor="{Binding FrameBackground}"
                                    Padding="0,0,0,0">

框架根据ListView中选择的项目更新颜色。现在,如果我使用标准框架,它可以完美地运行。但是我使用带圆角的自定义框架,我在android中遇到此错误。

Java.Lang.NullPointerException:尝试在空对象引用上调用虚方法'boolean android.graphics.Bitmap.isMutable()'

任何帮助表示赞赏。

答案

即使我有帧控制的相同问题,在我的情况下通过将我的android项目自定义渲染器的基类更改为“Frame”类型的“Visual Element”而不是“Xamarin.Forms.Platform.Android.FrameRenderer”来解决此问题。有关更多详细信息,请查看我的博客更新http://www.appliedcodelog.com/2017/12/bug-javalangnullpointerexceptionattempt.html

以上是关于当动态更改背景时,Xamarin Custom Frame会导致Java.Lang.NullPointerException的主要内容,如果未能解决你的问题,请参考以下文章

在 Xamarin 中动态更改条目输入的 Tab 键顺序

Xamarin.Forms 更改应用程序的背景颜色

Xamarin GeoLocatorPlugin在运行时更改minDistance

如何在 Windows 平台 (Xamarin) 上更改标题背景颜色

更改嵌套 div 内鼠标悬停时的图层颜色

当用户滚动时,在 WP7 上更改全景图的背景图像