2012-12-01 18 views
25

Ho un'attività in cui utilizzo startActivityForResult(intent,634). Se lo utilizzo dall'attività, requestCode in onActivityResult() è Ok. Ma se io uso startActivityForResult(intent,634) dal mio DialogFragment in questa attività, sto ricevendo un altro requestCode, qualcosa come 66170. Allora perché succede?perché ricevo il codice di richiesta errato?

risposta

40

Succede perché se si utilizza startActivityForResult dalla finestra di dialogo, in onActivityResult si ottiene il codice di richiesta della finestra di dialogo. Non dalla tua altra attività. E se vuoi ottenere il giusto codice di richiesta, dovresti usare getActivity().startActivityForResult(intent,requestCode) in DialogFragment.

+13

Non esistono domande stupide – vodich

+1

Non stupide. Mi sono imbattuto nello stesso identico problema. È un comportamento molto confuso. – ajselvig

+0

Mi sono imbattuto in un problema simile quando si chiama StartActivityForResult da un frammento –

Problemi correlati