Z zenlab Member Licensed User Longtime User Dec 9, 2019 #1 Ciao A tutti, ho creato una view per selezionare un immagine dal ContentChooser o scattare una foto, ritagliarla e salvarla in un file temporaneo. Vorrei usare questa view all'esigenza richiamandola da diverse altre view per caricare/selezionare un immagine e salvarla nel punto giusto a seconda della funzione che la richiama....il problema è che non so come intercettare il "ritorno" dalla view chiamata per effettuare l'operazione di salvataggio nella view "chiamante".... qualche aiuto/consiglio?
Ciao A tutti, ho creato una view per selezionare un immagine dal ContentChooser o scattare una foto, ritagliarla e salvarla in un file temporaneo. Vorrei usare questa view all'esigenza richiamandola da diverse altre view per caricare/selezionare un immagine e salvarla nel punto giusto a seconda della funzione che la richiama....il problema è che non so come intercettare il "ritorno" dalla view chiamata per effettuare l'operazione di salvataggio nella view "chiamante".... qualche aiuto/consiglio?
LucaMs Expert Licensed User Longtime User Dec 9, 2019 #2 Ciao. Nell'Activity che esegue il ritaglio dell'immagine selezionata (qui per riferimento la chiamo actTakeImage), metti una variabile pubbilca nella Process_Globals, magari chiamala Callback, di tipo Object. Quando un'altra Activity lancia la actTakeImage, fallo in questo modo: ' Activity XXX Code: Copy actTakeImage.Callback = Me StartActivity(actTakeImage) Public Sub Tagliata(Bmp As Bitmap) ' Qui la salvi o ci fai quello che vuoi ' Activity actTakeImage Code: Copy Process_Globals Public Callback As Object ' qui, quando sei pronto a restituire l'immagine tagliata all'Activity chiamante, metti: CallSubDelayed2(Callback, "Tagliata", LaBitmapCheHaiOttenutoDallUtente) Quest'ultima riga lancerà la routine Tagliata dell'Activity chiamante, portando anche l'Activity stessa in foreground.
Ciao. Nell'Activity che esegue il ritaglio dell'immagine selezionata (qui per riferimento la chiamo actTakeImage), metti una variabile pubbilca nella Process_Globals, magari chiamala Callback, di tipo Object. Quando un'altra Activity lancia la actTakeImage, fallo in questo modo: ' Activity XXX Code: Copy actTakeImage.Callback = Me StartActivity(actTakeImage) Public Sub Tagliata(Bmp As Bitmap) ' Qui la salvi o ci fai quello che vuoi ' Activity actTakeImage Code: Copy Process_Globals Public Callback As Object ' qui, quando sei pronto a restituire l'immagine tagliata all'Activity chiamante, metti: CallSubDelayed2(Callback, "Tagliata", LaBitmapCheHaiOttenutoDallUtente) Quest'ultima riga lancerà la routine Tagliata dell'Activity chiamante, portando anche l'Activity stessa in foreground.
LucaMs Expert Licensed User Longtime User Dec 9, 2019 #3 Meglio ancora... un progetto nel quale un'Activity viene utilizzata come se fosse una funzione (allegato). Nell'esempio, la "Activity funzione" restituisce solo un testo; ovviamente è possibile fargli restituire qualunque tipo di dato (bitmap comprese). Attachments ActivityAsFunctionTest.zip ActivityAsFunctionTest.zip 11.3 KB · Views: 409
Meglio ancora... un progetto nel quale un'Activity viene utilizzata come se fosse una funzione (allegato). Nell'esempio, la "Activity funzione" restituisce solo un testo; ovviamente è possibile fargli restituire qualunque tipo di dato (bitmap comprese).
AnandGupta Expert Licensed User Longtime User Dec 9, 2019 #4 Mi sarei perso questa bella logica, se non fosse per Google [I would have missed this beautiful logic, if not for Google ] Regards, Anand
Mi sarei perso questa bella logica, se non fosse per Google [I would have missed this beautiful logic, if not for Google ] Regards, Anand
Z zenlab Member Licensed User Longtime User Dec 9, 2019 #5 spettacolare soluzione!!!! grazie 1000 mi risolverà un sacco di grattacapi