dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
21.98k stars 1.72k forks source link

Shell navigation not called and updated for top tabs #9750

Open SokoFromNZ opened 2 years ago

SokoFromNZ commented 2 years ago

Description

Navigation events/methods on Shell don't get called/fired when navigating on the top tab navigation bar on Android. In addition - and kinda worse: Shell.Current.CurrentState.Location reports a location where I'm not!

Side note: On Windows the events/methods don't work either, but Shell.Current.CurrentState.Location seems to be right at least.

Steps to Reproduce

  1. Use official Xaminals example https://github.com/dotnet/maui-samples/tree/main/6.0/Fundamentals/Shell
  2. Open AppShell.xaml.cs
  3. Uncomment OnNavigated and set breakpoint to base.OnNavigated(args);
  4. Start debugging on android emulator
  5. Breakpoint gets hit => continue
  6. CATS are shown
  7. Click on DOGS
  8. Breakpoint gets not hit
  9. Shell.Current.CurrentState.Location has still \domestic\cats

Version with bug

6.0.486 (current)

Last version that worked well

Unknown/Other

Affected platforms

Android

Affected platform versions

Android 11

Did you find any workaround?

No

Relevant log output

No response

ghost commented 2 years ago

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.

carlescs commented 2 years ago

Not sure if it's related to this but also ToolbarItems don't switch when navigating between tabs. They do work ok with bottom tabs though.

utloggad2 commented 1 year ago

Any update on this issue?

svaldetero commented 1 year ago

How am I supposed to initialize my page / data if no event gets called?