Dobbiamo risolvere questo problema.
Le invocazioni compostabili possono avvenire solo dal contesto di una funzione compostabile.
Per questo, dobbiamo modificare il nostro codice in modo da chiamare e
visualizzare correttamente la finestra di avviso quando il pulsante viene cliccato.
A tale scopo, è necessario accedere alla finestra di dialogo di visualizzazione degli avvisi.
È necessario modificare i parametri di questa funzione.
Dobbiamo passare Showdialog.
È di tipo booleano e un altro è l'opzione on.
Il licenziamento on è un'espressione lambda.
Questi sono i due comportamenti showdialog e on dismiss.
Dobbiamo includere questa finestra di dialogo di avviso nella chiusura if else
close, ma dobbiamo verificare se il parametro showdialog viene passato come true.
Quindi, visualizzare la finestra di dialogo di avviso.
Se Showdialog.
Dobbiamo includere l'intero dialogo di allerta al suo interno.
Lo copio e lo sposto all'interno di questo.
Se si chiude, questa è la nostra finestra di dialogo di avviso.
Quindi modifichiamo la richiesta di licenziamento.
Qui lo imposterò su "on dismiss", quindi scorrerò verso il basso fino al pulsante di conferma.
Dopo la conferma, dobbiamo inserire questa nota nel database della stanza, utilizzando il modello di vista passato.
Questo è il nostro modello di vista e dobbiamo chiudere la finestra di dialogo degli avvisi.
Quindi è necessario inserire la nota nel DB.
Per questo utilizzerò il modello di vista dot insert e imposterò la nota.
Questa è la nota che abbiamo creato.
Dopo averlo inserito, dobbiamo impostare il pulsante di chiusura.
Il click.
Dobbiamo impostarlo come licenziato.
In questo modo si controlla il comportamento della finestra di dialogo degli avvisi.
Torniamo al mio fab e creiamo una variabile qui.
È necessario controllare l'aspetto della finestra di dialogo degli avvisi.
VAR mostra la finestra di dialogo ricordando lo stato mutabile di false.
Alt+.
Invio per importare il file.
Ricordate questa riga di codice.
La finestra di dialogo show viene utilizzata per creare e gestire lo stato di una finestra di dialogo show variabile all'interno di un jetpack.
Compose composable e, come già detto, by è usato per la delega delle proprietà in Kotlin.
Significa che la variabile show dialog viene delegata a un altro oggetto che
ne gestisce lo stato e che ricorda lo stato mutabile di false.
Si ricorda che questa funzione viene utilizzata per mantenere lo stato tra le varie ricomposizioni.
Quando una funzione compostabile si ricompone, lo stato creato da remember viene conservato.
Mutable state of è un tipo fornito da jetpack compose per
contenere lo stato. Permette di leggere e modificare lo stato e
attiva automaticamente la composizione dei componibili interessati quando lo stato cambia.
E questo è esattamente ciò di cui abbiamo bisogno, perché dobbiamo
controllare l'assenza e la presenza della finestra di dialogo di avviso.
Dobbiamo quindi controllarlo in base a questa variabile.
Qui dobbiamo richiamare la nostra finestra di dialogo di avviso.
Quindi visualizza la finestra di dialogo di avviso.
Dobbiamo passare il ViewModel.
Dobbiamo passare la finestra di dialogo dello show.
L'ultimo parametro è un'espressione lambda.
Possiamo passarlo che è sul ViewModel ViewModel licenziato.
È necessario passare il ViewModel.
La finestra di dialogo dello spettacolo.
Mostra la finestra di dialogo.
Questa è la nostra variabile e l'ultima è show dialog uguale a false.
Questa è la nostra finestra di dialogo dismiss show uguale a false.
È l'ultimo parametro.
Scorriamo verso il basso il pulsante d'azione fluttuante.
Dobbiamo rimuoverlo.
Si può notare che la finestra di dialogo Dialogo viene creata direttamente e senza
problemi, perché si tratta di una funzione compostabile chiamata all'interno dell'ambito di una
funzione compostabile e non all'interno di un'altra funzione o di una funzione ordinaria.
Quindi le funzioni componibili sono create solo per essere chiamate all'interno di un'altra funzione componibile.
Non possiamo richiamare la visualizzazione di alertdialog o qualsiasi altro elemento
componibile all'interno di questa funzione onclick, che è una funzione ordinaria.
Quindi onClick è una funzione ordinaria.
Non possiamo visualizzare o creare o chiamare altri oggetti componibili, perché si tratta di una funzione ordinaria.
Si può notare che anche il testo e qualsiasi altro componibile non possono essere creati qui.
Questo è lo scopo principale dell'utilizzo di Showdialog e della modifica della finestra di dialogo
di visualizzazione per verificare la presenza della finestra di dialogo e la sua chiusura.
Ok, non si può chiamare il composable all'interno di un'altra funzione,
ma deve essere chiamato all'interno dell'ambito di una funzione composable.
Creare una logica e impostare showdialog uguale a true.
Quindi, ogni volta che si imposta showdialog su true, si
attiverà nuovamente la ricomposizione di questo fab e la chiamata.
A sua volta.
La finestra di dialogo di visualizzazione e questa finestra di visualizzazione vedranno se la finestra di dialogo mostra è passata come vera.
In questo caso, è necessario visualizzare la finestra di dialogo di avviso.
Questa è la logica.
Questo è l'algoritmo.
Come visualizzare una finestra di dialogo di avviso da un pulsante.
L'ultima cosa di cui abbiamo bisogno è definire un'icona per questo pulsante d'azione fluttuante.
Utilizzate le icone già presenti in qualsiasi applicazione e nell'SDK di Android.
Quindi qui userò le icone punto di riempimento e punto di aggiunta.
Questo è il segno più.
È possibile utilizzare l'aggiunta di una freccia a cerchio a discesa.
È inoltre possibile aggiungerli nella cartella drawable e creare
una nuova risorsa vettoriale immagine o risorsa vettoriale.
È stato richiesto un errore al pittore che ha trovato il vettore immagine.
È possibile accedere all'icona.
Esistono molte versioni di questa icona.
Componibile.
Si vede che è un pittore.
Inoltre, abbiamo un'icona componibile che accetta una bitmap.
Inoltre, esiste un'icona componibile che accetta un'immagine vettoriale.
E questo è ciò di cui abbiamo bisogno anche per, uh, capire di cosa sto parlando,
se volete creare un'icona, potete vedere che ci sono quattro, forse quattro versioni di icone componibili
una di graphics dot drawable, una di image vector, una di bitmap e una di painter.
Nel nostro caso si può notare che il pittore ha trovato un'immagine vettoriale.
Quindi, usando la logica, utilizzo il vettore di immagini per risolvere il mio problema.
Descrizione del contenuto e nota