2012-07-31 15 views

risposta

33

Il primo è migliore.

È più coerente con le altre funzioni di evento nell'API Activity, non ti costa nulla (il codice che stai chiamando non fa nulla al momento) e significa che non è necessario ricordare di aggiungere la chiamata nel futuro quando il comportamento della classe base cambia.

Modifica

come Su-Au Hwang ha fatto notare, la mia previsione sul comportamento del cambio classe base per il futuro è diventato realtà! FragmentActivityrichiede per chiamare il metodo su super.

+5

se si utilizza FragmentActivity dal pacchetto di supporto, è necessario chiamare super, vedere la mia risposta. –

3

A meno che non si dispone di più sottoclassi di Activity che dipendono da esso nell'applicazione, non sembra come chiamare super.onActivityResult() è necessario, poiché l'implementazione di onActivityResult() è vuota (ho controllato il livello API 15).

2

È possibile rispondere autonomamente osservando il codice sorgente per Activity.

Fondamentalmente si tratta di realizzazione di onActivityResult(...) assomiglia a questo ...

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
} 

... così non fa nulla.

2

Anche se sembra che l'implementazione predefinita sia vuota, è possibile che in aggiornamenti futuri non sempre avvengano. Raccomanderei di usarlo

20

È necessario chiamare super.onActivityResult se si utilizza FragmentActivity dal pacchetto di supporto (anche SherlockFragmentActivity). Altrimenti non è necessario, tuttavia lo inserisco semplicemente per il gusto di farlo. Controllare la fonte di FragmentActivity (no onActivityResult non è vuoto).

FragmentActivity source

Problemi correlati