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

Mad*_*noy 5 android mvvm xamarin.android xamarin.forms

我有一个Xamarin Forms Frame的自定义渲染器: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>
Run Code Online (Sandbox Code Playgroud)

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

 <controls:ExtendedFrame Margin="2,0,2,0"
                                    BackgroundColor="{Binding FrameBackground}"
                                    HorizontalOptions="FillAndExpand"
                                    OutlineColor="{Binding FrameBackground}"
                                    Padding="0,0,0,0">
Run Code Online (Sandbox Code Playgroud)

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

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

任何帮助表示赞赏.

Suc*_*ith 0

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