WEBVTT

1
00:00.710 --> 00:08.840
Il secondo problema è la sincronizzazione
tra la schermata corrente e la barra di
navigazione.

2
00:08.870 --> 00:15.050
Ad esempio, se seleziono le impostazioni,
si può notare che la barra di navigazione
è ancora nella home.

3
00:15.080 --> 00:22.010
Quindi, per risolvere questo problema e
per effettuare la sincronizzazione tra
l'elemento selezionato nella

4
00:22.010 --> 00:27.200
barra di navigazione e la schermata
attualmente visualizzata, aggiorneremo e
modificheremo questo codice.

5
00:27.200 --> 00:36.080
Quindi, all'interno della barra di
navigazione inferiore, creeremo una voce
Val nav

6
00:36.080 --> 00:40.940
back stack da nav controller dot current
back stack enter as state.

7
00:40.970 --> 00:48.290
Qui si utilizza la voce corrente dello
stack posteriore come funzione di

8
00:48.320 --> 00:49.550
stato per osservare il controllore nav
della voce corrente dello stack.

9
00:49.580 --> 00:55.460
È l'oggetto controller nav, responsabile
della gestione della navigazione
all'interno

10
00:55.460 --> 00:57.470
dell'applicazione e della voce di back
stack corrente come stato.

11
00:57.470 --> 01:04.130
Si tratta di una funzione responsabile
della gestione e della restituzione di un
oggetto di stato

12
01:04.160 --> 01:09.590
che rappresenta la voce corrente del
backstack, che contiene informazioni sulla
destinazione corrente nel grafo

13
01:09.590 --> 01:17.340
di navigazione; utilizzando la voce
corrente dello stack come funzione di
stato, è possibile osservare

14
01:17.340 --> 01:20.970
le modifiche alla voce del backstack, ad
esempio quando l'utente naviga verso una
destinazione diversa.

15
01:21.000 --> 01:27.090
Ciò consente di reagire agli eventi di
navigazione e di aggiornare l'interfaccia
utente di conseguenza.

16
01:27.120 --> 01:34.080
Quindi, in Jetpack Compose, l'osservazione
della voce corrente di Backstack è utile
per gli scenari

17
01:34.080 --> 01:37.770
in cui è necessario sincronizzare lo stato
dell'interfaccia utente con lo stato di
navigazione corrente.

18
01:37.770 --> 01:44.670
Nel nostro caso, aggiorneremo l'elemento
selezionato nella barra

19
01:44.670 --> 01:46.230
di navigazione inferiore in base alla
destinazione corrente.

20
01:46.230 --> 01:49.410
Poi dobbiamo ottenere il percorso
corrente.

21
01:49.440 --> 01:50.070
Val.

22
01:50.100 --> 01:51.930
Percorso attuale.

23
01:51.960 --> 01:52.410
Nav.

24
01:52.440 --> 01:53.130
Backstack.

25
01:53.130 --> 01:55.230
Destinazione di ingresso del percorso.

26
01:55.260 --> 02:03.600
Questa riga recupera il percorso della
destinazione corrente dalla voce osservata
di Nav Backstack.

27
02:03.630 --> 02:06.180
Voce Nav Backstack.

28
02:06.180 --> 02:13.740
È la voce di Backstack corrente osservata
durante la voce

29
02:13.740 --> 02:14.340
di Backstack corrente come stato e il
punto interrogativo.

30
02:14.370 --> 02:17.460
Si tratta di un operatore di chiamata
sicura in Kotlin.

31
02:17.460 --> 02:26.930
Consente di accedere in modo sicuro alle
proprietà o di chiamare metodi su un
oggetto che potrebbe essere nullo e la
destinazione.

32
02:26.960 --> 02:34.490
La proprietà di una voce del backstack nav
che rappresenta

33
02:34.490 --> 02:35.060
la destinazione corrente nel grafo di
navigazione e la radice.

34
02:35.060 --> 02:40.580
È la proprietà della destinazione che
fornisce la radice associata.

35
02:40.580 --> 02:46.280
Quindi, se andiamo alla voce Backstack, se
andiamo alla voce Nav Backstack corrente,

36
02:46.280 --> 02:51.680
possiamo vedere che la destinazione è una
proprietà della classe Nav Backstack.

37
02:51.680 --> 02:55.160
Quindi utilizzerò questa proprietà e la
destinazione nav.

38
02:55.160 --> 03:01.070
Se si va alla destinazione nav e si cerca
il percorso, lo si può trovare qui come
stringa.

39
03:01.070 --> 03:08.840
In questo modo si osserva la voce corrente
di Backstack e si ottiene il percorso
attualmente visualizzato.

40
03:08.870 --> 03:14.420
Ora cambieremo l'elemento selezionato e
modificheremo il codice.

41
03:14.420 --> 03:23.600
Lo sposterò qui e rimuoverò l'elemento
selezionato, ricordando lo stato mutabile
Saveable di e

42
03:23.600 --> 03:35.280
modificherò qui l'elemento selezionato,
cambiandolo in uguale agli elementi della
navigazione, con l'indice

43
03:35.280 --> 03:37.350
del punto di primo e il percorso del punto
uguale al percorso corrente.

44
03:37.380 --> 03:42.300
Qui ottengo l'indice del percorso
corrente.

45
03:42.330 --> 03:49.950
Occorre poi creare una variabile chiamata
elemento nav selezionato, ricordando
Saveable.

46
03:49.950 --> 03:58.110
Utilizzeremo lo stato mutabile di e
imposteremo Selecteditem maggiore o uguale
a zero.

47
03:58.140 --> 04:00.990
Poi ha selezionato l'elemento zero.

48
04:01.020 --> 04:01.650
Ok.

49
04:01.680 --> 04:05.940
Quindi spostarsi verso il basso e
modificare questo onclick.

50
04:05.940 --> 04:09.420
Imposta la voce di navigazione selezionata
come indice.

51
04:09.450 --> 04:15.360
Ok, testiamo la nostra applicazione dopo
la modifica del codice.

52
04:15.390 --> 04:16.260
Eccoci qua.

53
04:16.260 --> 04:20.250
Selezionando il profilo, si possono vedere
le impostazioni del profilo.

54
04:20.250 --> 04:24.600
Se si va alla home si può notare che la
barra di navigazione è aggiornata.

55
04:24.630 --> 04:26.010
Andare alle impostazioni.

56
04:26.010 --> 04:29.970
Si può notare che la barra di navigazione
si sta aggiornando.

57
04:30.000 --> 04:31.950
Vai a casa.

58
04:31.950 --> 04:33.540
Ed eccoci qui.

59
04:33.570 --> 04:34.170
Ok.

60
04:34.170 --> 04:41.610
In questo modo si aggiorna e si
sincronizza la schermata con la barra di
navigazione inferiore.


