XamarinCommunityToolkit
XamarinCommunityToolkit copied to clipboard
[Bug] Provided VisualElement cannot be parent to SnackBar Parameter name: sender
Description
DisplayToastAsync() is worked, after closing app and reopen app from float service button, DisplayToastAsync() is shown but app crash
Toast.MakeText() still worked fine even after reopen app from float service button
Steps to Reproduce
- Create App with float service button
- Execute Toast (Worked)
await this.DisplayToastAsync(options);
- Execute float service button
- Close App
- Reopen App from float service button
- Execute Toast (Crash)
await this.DisplayToastAsync(options);
Error Debug:
[StaticLayout] maxLineHeight should not be -1. maxLines:10 lineCount:10
**System.ArgumentException:** 'Provided VisualElement cannot be parent to SnackBar
Parameter name: sender'
Expected Behavior
no crash
Actual Behavior
Snackbar Toast is shown but then app crash
Basic Information
- Version with issue: 1.2.0
- Last known good version: - (First Time Use)
- IDE: Visual Studio 2019
- Platform Target Frameworks:
- Android: 9
- Android Support Library Version:
- Nuget Packages: 1.2.0
- Affected Devices: Android
Workaround
try { await this.DisplayToastAsync(options); } catch {}
Could you please attach a small project to reproduce the issue
@sasukevita as mentioned a reproduction project would be super helpful. Thanks!
What I found from the code, that we are not able to get the XF renderer for the VisualElement. If you are not calling the method from XF, I think it won't work.
You call DisplaySnackBarAsync from a page that is not the MainPage. You should do :
App.Current.MainPage.DisplaySnackBarAsync( )
I had the same problem and this fixed it