2016-12-05 14 views
5

Tôi có trình kết xuất tùy chỉnh cho Khung biểu mẫu Xamarin: CustomFrameRenderer. Một mẫu XAML dướiXamarin Custom Frame gây ra Java.Lang.NullPointerException khi nền được thay đổi động

<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> 

Vấn đề là, nếu tôi ràng buộc màu nền cho một tài sản như thế này,

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

Khung get của màu sắc của nó cập nhật dựa trên mục đã chọn trong một ListView. Bây giờ, nếu tôi sử dụng Frame chuẩn thì nó hoạt động hoàn hảo. Nhưng tôi sử dụng khung tùy chỉnh của tôi với các góc tròn, tôi nhận được lỗi này trong Android.

Java.Lang.NullPointerException: Cố gắng để gọi phương thức ảo 'boolean android.graphics.Bitmap.isMutable()' trên một tài liệu tham khảo đối tượng null

Any help is appreciated.

+0

Tôi đã không tạo lại vấn đề. Tôi đã viết một [demo] (https://github.com/mikexxma/Xamarin_Customer_FrameRenderer) cho câu hỏi của bạn, nó sẽ hữu ích. –

+0

@Madhav Bạn có tìm thấy giải pháp nào không? Tôi có thể xem xét trình kết xuất tùy chỉnh của bạn không? Tôi đang sử dụng công cụ chuyển đổi để thay đổi màu Đường viền dựa trên thuộc tính ... Và khung góc tròn nằm bên trong chế độ xem danh sách. Tất cả các mục được hiển thị ban đầu trên màn hình có các RoundedCornerFrame trả lại đúng ... tuy nhiên, khi tôi di chuyển xuống, tôi nhận được cùng ** Java.Lang.NullPointerException: Cố gắng gọi phương thức ảo 'boolean android.graphics.Bitmap.isMutable() 'về tham chiếu đối tượng null ** ngoại lệ –

+0

https://bugzilla.xamarin.com/show_bug.cgi?id=55559 –

Trả lời

0

Thậm chí tôi có cùng vấn đề với điều khiển khung, trong trường hợp của tôi đã giải quyết vấn đề này bằng cách thay đổi lớp cơ sở của trình kết xuất tùy chỉnh dự án Android thành "Hình ảnh" của loại "Khung" thay vì "Xamarin.Forms.Platform. Android.FrameRenderer ". Để biết thêm chi tiết, hãy kiểm tra cập nhật blog của tôi http://www.appliedcodelog.com/2017/12/bug-javalangnullpointerexceptionattempt.html

Các vấn đề liên quan