Mi chiedo se sto capendo correttamente i concetti di requestCode e resultCode? Fondamentalmente, ho un intero arbitrario (il codice di richiesta) associato a un'attività. Ad esempio, nel Notepad tutorial, abbiamoAndroid: requestCode e resultCode
private static final int ACTIVITY_CREATE=0;
private static final int ACTIVITY_EDIT=1;
Abbiamo quindi utilizzare startSubActivity (intento, requestCode) per avviare un'attività, ad esempio l'attività "crea nota". Facciamo qualcosa in quell'attività e restituiamo un risultatoCode.
Nell'attività padre rileviamo il resultCode con onActivityResult (requestCode, resultCode, intent). Possiamo quindi utilizzare il codice request per vedere quale attività viene restituita, il resultCode per vedere il risultato di tale attività e gli "extra" dell'intento per ottenere i dati restituiti.
C'è qualcosa di speciale sui codici di risultato incorporati, come RESULT_CANCELED? Il documentation on the developer site sembra suggerire che i risultati incorporati siano semplicemente numeri interi.
E mi sembra che questo potrebbe diventare davvero disordinato? Ad esempio, se avessi 10 attività possibili da avviare, avrei bisogno di una funzione gigante onActivityResult per verificare quale attività viene restituita, no?
Grazie, questo mi ha chiarito tutto! –
Se devi utilizzare più dei due codici risultato standard, avvia il tuo primo codice risultato personalizzato con 'Activity.RESULT_FIRST_USER', cioè' static final int MY_RESULT = Activity.RESULT_FIRST_USER' e quindi 'static final int MY_OTHER_RESULT = MY_RESULT + 1' – kap