- Home
- Forum
- Xamarin.Forms
- NullReferenceException on .show()
NullReferenceException on .show()
The exception is thrown only when I use the show() method, here's the code:
Edit: I'm using version 16.4.0.46
public partial class DetailOS : ContentPage
{
SfPopupLayout Popup { get; set; }
public string MotivoCancel { get; set; }
Models.Manutencao.Pedido Pedido { get; set; }
public DetailOS (Models.Manutencao.Pedido obj)
{
InitializeComponent ();
Pedido = obj;
Popup = new SfPopupLayout();
Popup.PopupView.AppearanceMode = AppearanceMode.TwoButton;
Popup.PopupView.HeaderTitle = "Cancelar OS";
Popup.PopupView.PopupStyle = new PopupStyle {
AcceptButtonBackgroundColor = Color.FromHex("#009530"),
AcceptButtonTextColor = Color.White,
DeclineButtonBackgroundColor = Color.FromHex("#009530"),
DeclineButtonTextColor = Color.White
};
Popup.PopupView.ContentTemplate = new DataTemplate(() => {
var txt = new Entry { Placeholder = "Informe o motivo" };
txt.BindingContext = this;
txt.SetBinding(Entry.TextProperty, "MotivoCancel");
return txt;
});
Popup.PopupView.DeclineButtonText = "VOLTAR";
Popup.PopupView.AcceptButtonText = "CANCELAR";
Popup.PopupView.AcceptCommand = new Command(Cancelar);
BindingContext = new ViewModels.Manutencao.DetailOS () { Pedido = obj, Navigation = Navigation };
}
async void CancelarPopUp(object sender, EventArgs e)
{
try {
if (Pedido.Status == "aberto") {
Popup.Show();
} else {
await DisplayAlert("Acesso Restrito", "Essa OS não pode ser cancelada em seu atual estágio do processo", "OK");
}
} catch (Exception ex) {
await DisplayAlert("Exceção : Contate o administrador", ex.Message, "dismiss");
}
}
}
Didn't include the whole class here, just the methods that have some interaction with the Popup.
I made sure to include the xmlns:syncfusion="clr-namespace:Syncfusion.XForms.PopupLayout;assembly=Syncfusion.SfPopupLayout.XForms" in the xaml.
The stack trace is the following:
System.NullReferenceException: Object reference not set to an instance of an object.
at Syncfusion.XForms.Android.PopupLayout.RendererHelper.GetNativeRendererForFormsView (Xamarin.Forms.View view, Syncfusion.XForms.PopupLayout.SfPopupLayout valid) [0x00039] in :0
at Syncfusion.XForms.Android.PopupLayout.RendererHelper.ConvertFormsToNativeView (Syncfusion.XForms.PopupLayout.SfPopupLayout formsSfPopupLayout, Xamarin.Forms.View view, Android.Views.ViewGroup+LayoutParams layoutParams) [0x00000] in :0
at Syncfusion.XForms.Android.PopupLayout.RendererHelper.SetContentTemplateToNativePopupView (Syncfusion.XForms.Android.PopupLayout.PopupView nativePopupView, Syncfusion.XForms.PopupLayout.PopupView formsPopupView) [0x00037] in :0
at Syncfusion.XForms.Android.PopupLayout.RendererHelper.MapPopupViewProperties (System.String propertyName, Syncfusion.XForms.PopupLayout.PopupView formsPopupView, Syncfusion.XForms.Android.PopupLayout.PopupView nativePopupView) [0x00213] in :0
at Syncfusion.XForms.Android.PopupLayout.PopupLayoutDependencyService.MapPopupViewProperties (System.String propertyName) [0x00028] in :0
at Syncfusion.XForms.Android.PopupLayout.PopupLayoutDependencyService.CreateNativePopup (System.Object nativeObject, Syncfusion.XForms.PopupLayout.SfPopupLayout popup, System.Boolean canMap) [0x0012d] in :0
at Syncfusion.XForms.Android.PopupLayout.PopupLayoutDependencyService.Show (System.Object nativeObject, Syncfusion.XForms.PopupLayout.SfPopupLayout formsPopup) [0x00007] in :0
at Syncfusion.XForms.PopupLayout.SfPopupLayout.Show () [0x0000c] in <71ecd4ed02a74af885d8e5b7876b2bda>:0
at GFA.Views.Manutencao.DetailOS+d__13.MoveNext () [0x0004c] in C:\wampNew\www\App_GFA\GFA\GFA\GFA\Views\Manutencao\DetailOS.xaml.cs:44
SIGN IN To post a reply.
10 Replies
SP
Subburaj Pandian Veluchamy
Syncfusion Team
January 18, 2019 11:19 AM UTC
Hi Gabriel,
Thank you for contacting Syncfusion support.
Based on the provided information, we have checked the reported issue with Popup layout when showing in Xamarin.Forms and it is working fine from our side. We have prepared sample based on the given code, please find the same by the following link.
Sample link: PopupSampleF142074
In the sample, we have shown the Pop-up layout in the button click and working as expected in the Syncfusion update version 16.4.0.46.
If the sample doesn’t meet your requirement, could you please modify the sample based on your scenario with replication procedure. It will be helpful for us to check on it and provide you the solution.
Regards,
Subburaj Pandian V
Subburaj Pandian V
PL
Philippe Leybaert
February 8, 2019 03:08 PM UTC
Same issue here, worked fine on 16.4.0.46, but crashes with a NullReferenceException on 16.4.0.52
Stack trace:
NullReferenceException : Object reference not set to an instance of an object
at Syncfusion.XForms.iOS.PopupLayout.RendererHelper.GetNativeRendererForFormsView (Xamarin.Forms.View view, Syncfusion.XForms.PopupLayout.SfPopupLayout valid) [0x00039] in:0
at Syncfusion.XForms.iOS.PopupLayout.RendererHelper.ConvertFormsToNativeView (Xamarin.Forms.View view, CoreGraphics.CGRect size, Syncfusion.XForms.PopupLayout.SfPopupLayout formsSfPopupLayout) [0x00000] in:0
at Syncfusion.XForms.iOS.PopupLayout.RendererHelper.SetContentTemplateToNativePopupView (Syncfusion.XForms.iOS.PopupLayout.PopupView nativePopupView, Syncfusion.XForms.PopupLayout.PopupView formsPopupView) [0x00052] in:0
at Syncfusion.XForms.iOS.PopupLayout.RendererHelper.MapPopupViewProperties (System.String propertyName, Syncfusion.XForms.PopupLayout.PopupView formsPopupView, Syncfusion.XForms.iOS.PopupLayout.PopupView nativePopupView) [0x00213] in:0
at Syncfusion.XForms.iOS.PopupLayout.PopupLayoutDependencyService.MapPopupViewProperties (System.String propertyName) [0x00028] in:0
at Syncfusion.XForms.iOS.PopupLayout.PopupLayoutDependencyService.CreateNativePopup (System.Object nativeObject, Syncfusion.XForms.PopupLayout.SfPopupLayout popup, System.Boolean canMap) [0x0012c] in:0
at Syncfusion.XForms.iOS.PopupLayout.PopupLayoutDependencyService.ShowRelativeToView (System.Object nativeObject, Syncfusion.XForms.PopupLayout.SfPopupLayout formsPopup, Xamarin.Forms.View relative_view, Syncfusion.XForms.PopupLayout.RelativePosition relative_position, System.Double absoluteX, System.Double absoluteY, System.Boolean canMap) [0x00007] in:0
at Syncfusion.XForms.PopupLayout.SfPopupLayout.ShowRelativeToView (Xamarin.Forms.View relativeView, Syncfusion.XForms.PopupLayout.RelativePosition relativePosition, System.Double absoluteX, System.Double absoluteY) [0x00033] in:0
at Syncfusion.XForms.iOS.PopupLayout.RendererHelper.GetNativeRendererForFormsView (Xamarin.Forms.View view, Syncfusion.XForms.PopupLayout.SfPopupLayout valid) [0x00039] in
at Syncfusion.XForms.iOS.PopupLayout.RendererHelper.ConvertFormsToNativeView (Xamarin.Forms.View view, CoreGraphics.CGRect size, Syncfusion.XForms.PopupLayout.SfPopupLayout formsSfPopupLayout) [0x00000] in
at Syncfusion.XForms.iOS.PopupLayout.RendererHelper.SetContentTemplateToNativePopupView (Syncfusion.XForms.iOS.PopupLayout.PopupView nativePopupView, Syncfusion.XForms.PopupLayout.PopupView formsPopupView) [0x00052] in
at Syncfusion.XForms.iOS.PopupLayout.RendererHelper.MapPopupViewProperties (System.String propertyName, Syncfusion.XForms.PopupLayout.PopupView formsPopupView, Syncfusion.XForms.iOS.PopupLayout.PopupView nativePopupView) [0x00213] in
at Syncfusion.XForms.iOS.PopupLayout.PopupLayoutDependencyService.MapPopupViewProperties (System.String propertyName) [0x00028] in
at Syncfusion.XForms.iOS.PopupLayout.PopupLayoutDependencyService.CreateNativePopup (System.Object nativeObject, Syncfusion.XForms.PopupLayout.SfPopupLayout popup, System.Boolean canMap) [0x0012c] in
at Syncfusion.XForms.iOS.PopupLayout.PopupLayoutDependencyService.ShowRelativeToView (System.Object nativeObject, Syncfusion.XForms.PopupLayout.SfPopupLayout formsPopup, Xamarin.Forms.View relative_view, Syncfusion.XForms.PopupLayout.RelativePosition relative_position, System.Double absoluteX, System.Double absoluteY, System.Boolean canMap) [0x00007] in
at Syncfusion.XForms.PopupLayout.SfPopupLayout.ShowRelativeToView (Xamarin.Forms.View relativeView, Syncfusion.XForms.PopupLayout.RelativePosition relativePosition, System.Double absoluteX, System.Double absoluteY) [0x00033] in
PL
Philippe Leybaert
February 8, 2019 04:04 PM UTC
Since 16.4.0.52, the following code throws a NullReferenceException every time (see stack trace above). This worked fine in 16.4.0.48
private SfPopupLayout ShowPopup(View popupContent, int width, int height, View triggerView)
{
popupContent.HorizontalOptions = LayoutOptions.Center;
popupContent.VerticalOptions = LayoutOptions.Center;
var grid = new Grid()
{
Children = {popupContent},
HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand,
BackgroundColor = Color.Black,
};
SfPopupLayout popup = new SfPopupLayout
{
Padding = 0,
PopupView =
{
WidthRequest = width,
HeightRequest = height,
ShowFooter = false,
ShowHeader = false,
AnimationMode = AnimationMode.None,
ContentTemplate = new DataTemplate(() => grid),
PopupStyle =
{
CornerRadius = 2,
BorderThickness = 2,
BorderColor = Color.FromHex("#222222")
}
}
};
popup.ShowRelativeToView(triggerView, RelativePosition.AlignTopLeft,width/2+15,-10);
return popup;
}
PL
Philippe Leybaert
February 8, 2019 09:17 PM UTC
Turns out that this is related to the Xamarin Forms update. It crashes on 3.5.0 but works on 3.4.0
SP
Subburaj Pandian Veluchamy
Syncfusion Team
February 11, 2019 07:26 AM UTC
Hi Philippe,
We regret for the inconvenience caused.
We have already found and logged issue report for the mentioned issue “Throws error when setting template to the Popup Layout” in Xamarin.Forms update version 3.5. The issue occurs only when the project Xamarin.Forms update version above 3.5 and it is not occurring the previous updates.
We will fix this issue and include the issue fix in our upcoming Volume 1 main release update and it will be expected to be available by mid of March 2019.
You can now track the status of this issue and contact us for any further inquiries through this link,
We appreciate your patience and please use the earlier Xamarin.Forms updates until then.
Regards,
Subburaj Pandian V
Subburaj Pandian V
SP
Subburaj Pandian Veluchamy
Syncfusion Team
February 19, 2019 07:20 AM UTC
Hi Philippe,
We are glad to announce that our latest weekly NuGet package update version 16.4.0.53 has been rolled out with the issue fix of “Popup layout crashing issue in Xamarin.Forms update 3.5” and is available for download (nuget.org).
We thank you for your support and appreciate your patience in waiting for this update. Please get in touch with us if you would require any further assistance.
Regards,
Subburaj Pandian V
Subburaj Pandian V
SA
Siwakron Apichitsopa
May 5, 2019 08:49 AM UTC
Dear Syncfusion Support.
I read your reply and other topic about update new version (Update Xamarin and New Syncfusion 171.0.38). But It can not solve this problem.
Best regards,
Siwakorn Apichitsopa.
SP
Subburaj Pandian Veluchamy
Syncfusion Team
May 6, 2019 12:03 PM UTC
Hi Siwakorn,
We have checked the mentioned issue with Popup layout in our Syncfusion update version 17.1.0.38 and Xamarin.Forms version 3.6 and it is working fine without any issue. Please find the attached sample for your reference,
Sample link: PopupTemplate3.6
Please check the sample and let us know if you still facing the same issue? If not, please modify the sample based on your scenario and revert us with the more details along with stack trace of the issue. It will be helpful for us to check on it and provide you the solution.
Regards,
Subburaj Pandian V
Subburaj Pandian V
VW
Victor Wilcox
December 3, 2019 04:28 AM UTC
With Xamarin 17.3.0.29, the popup is throwing a null exception error upon calling show. It works in UWP but crashes in android / iOS builds.
KK
Karthikraja Kalaimani
Syncfusion Team
December 3, 2019 01:12 PM UTC
Hi Victor,
Thank you for your update.
We have checked the issue “Null Reference Exception thrown ” while call SfPopupLayout.Show() in Xamarin Forms Android and Xamarin Forms iOS platform. Unfortunately we could not able to reproduce the issue at our end. We have attached the tested sample for your reference.
Sample link : https://www.syncfusion.com/downloads/support/directtrac/general/ze/PopupTemplate3.6271026082.zip
Thank you for your update.
We have checked the issue “Null Reference Exception thrown ” while call SfPopupLayout.Show() in Xamarin Forms Android and Xamarin Forms iOS platform. Unfortunately we could not able to reproduce the issue at our end. We have attached the tested sample for your reference.
Sample link : https://www.syncfusion.com/downloads/support/directtrac/general/ze/PopupTemplate3.6271026082.zip
SfPopupLayout version : 17.3.0.29
Xamarin Forms Version : 3.6
If you are still facing the same issue ? please modify the attached sample and revert us back with a clear replication procedure. It will help us to give better solution earlier.
Regards,
Karthik Raja
Xamarin Forms Version : 3.6
If you are still facing the same issue ? please modify the attached sample and revert us back with a clear replication procedure. It will help us to give better solution earlier.
Regards,
Karthik Raja
SIGN IN To post a reply.
- 10 Replies
- 6 Participants
-
GT Gabriel Theodore
- Jan 17, 2019 11:31 AM UTC
- Dec 3, 2019 01:12 PM UTC