Se eseguiamo la nostra applicazione, otterremo questa bella schermata.
Questa è la nostra schermata iniziale e questa è la nostra barra di navigazione.
Abbiamo tre icone: il profilo e le impostazioni della casa.
Ora testiamo il nostro sistema di navigazione.
Se selezioniamo le impostazioni, vediamo che l'applicazione passa alla schermata delle impostazioni.
Se si seleziona home, viene visualizzata la schermata iniziale.
Ora testiamo il profilo.
Se andiamo a selezionare il profilo possiamo vedere l'errore.
L'applicazione si arresta in modo anomalo perché non viene passato alcun argomento per la schermata del profilo.
Torniamo alla schermata del profilo.
Componibile.
Dobbiamo passare i parametri ID e Mostra dettagli, uno di tipo int e uno di tipo boolean.
E se torniamo alla barra di navigazione componibile o alla barra di navigazione
qui all'interno della barra di navigazione inferiore, possiamo vedere che questa funzione
non passa alcun parametro tra le schermate e soprattutto per il profilo.
Si tratta quindi di un errore.
Ancora una volta se testiamo l'applicazione, se seleziono le impostazioni si
può notare che la barra di navigazione non è sincronizzata.
Quindi sto visualizzando la schermata delle impostazioni.
Nella barra di navigazione viene visualizzata la schermata selezionata, ovvero la schermata iniziale.
Selezionare Naviga verso casa.
Non si sta sincronizzando.
Anche in questo caso se vado nelle impostazioni non si sincronizza.
E la barra di navigazione è ancora a casa.
Per risolvere questi due problemi dobbiamo modificare i nostri codici.
Voglio che vi concentriate su di me.
Il primo problema è la navigazione verso la schermata del profilo.
È necessario fornire due parametri, l'id e i dettagli della mostra.
Per questo è necessario modificare l'onclick.
Qui è necessario creare val e passare gli argomenti
tra la schermata, il Profilo e le altre schermate.
Quindi val root è uguale a if item dot path è uguale a profile nav root dot profile dot path.
Occorre quindi impostare la radice del nav dot profile dot path dot plus.
E qui ho bisogno di aggiungere, ad esempio, l'ID 123 e il booleano true.
In caso contrario, impostare il percorso dell'elemento e tornare indietro.
La modifica da apportare è la rimozione del percorso dell'elemento e l'utilizzo della radice creata qui.
Se si accede alla schermata del profilo, passare uno, due, tre e true come parametri.
Altrimenti, se si va alle impostazioni o alla home, basta andare al percorso senza passare alcun parametro.
Eseguiamo e vediamo se seleziono il profilo.
È possibile vedere l'ID del profilo 123.
Mostra i dettagli è vero.
Andare alle impostazioni.
Navigare verso la home.
Ma se navigo da qui senza usare la barra di navigazione, possiamo ottenere
che l'ID è 77 e che mostrare i dettagli è uguale a true.
Questo è un problema anche perché passiamo ID diversi e passiamo 77.
E se si naviga tra le schermate usando la barra di
navigazione, si passa l'ID del profilo da 1 a 3.
Ok.
Si può quindi creare una classe autonoma e rendere mutabili i LiveData
o qualsiasi altra forma di variabile per ottenere questo percorso di navigazione.
Ok, assicuratevi di passare gli stessi parametri di prima.
Ad esempio, quando si naviga dalla schermata iniziale ad altre schermate
o alla schermata del profilo, si passano 77 e true.
Assicuratevi quindi di passare gli stessi parametri.
È possibile creare una classe per memorizzare queste variabili e ottenerle ogni volta che se ne ha bisogno