2013-09-22 18 views
8

Ho un frammento che chiama un'altra attività utilizzando:Android: come ottenere il ritorno dall'attività quando si chiama da Fragment?

ProductEditionMaintenanceActivity.class); 
Bundle extras = new Bundle(); 
extras.putString("productCode", productCode); 
extras.putInt("productEditionID", 0); 
intent.putExtras(extras); 
getActivity().startActivityForResult(intent, 1); 

e ritorno da l'attività:

Intent resultIntent = new Intent(); 
setResult(Activity.RESULT_OK, resultIntent); 
finish(); 

ho cercato di utilizzare il seguente nel frammento

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    //Do something 
} 

Tuttavia , Suppongo che l'intento creato abbia superato il riferimento dell'attività genitoriale del frammento, quindi suActivityResult su Il frammento non viene chiamato. Se è questo il caso, cosa devo fare affinché il frammento ottenga il risultato dall'attività del callee?

risposta

11

I frammenti onActivityResult verranno richiamati DOPO le attività dell'host onActivityResult a patto che l'attività dell'host sia chiamata super.onActivityResult. Vedi https://stackoverflow.com/a/6147919/552902 per maggiori dettagli

Problemi correlati