2012-10-29 5 views
5

Se chiamo startActivityForResult e l'attività che parte sta anche chiamando startActivityForResult su un'altra attività,
E 'possibile che la prima attività sarà fermato?
C'è un modo per evitare che accada?
Quale contesto dovrei superare ogni intento che creo?startSubActivity all'interno startSubActivity

po 'di codice per capire il processo di

intent = new Intent(MainActivity.this, SettingsActivity.class); 
startActivityForResult(intent, AbstractSettingsActivity.SETTINGS_ACTIVITY_REQUEST_CODE); 

// this is inside the Settings activity 
Intent intent = new Intent(getBaseContext(), SettingsTabsActivity.class); 
startActivityForResult(intent, CUSTOMIZE_TAB_REQUEST_CODE); 
// at this point i got ondstroy on main activity - main is not the root 
+0

Beh, penso che sia correlato al flag senza storia sulla mia attività principale ... –

risposta

2

In ogni caso (sia il suo startActivity o startActivityForResult), quando si avvia una nuova attività, il vostro attuale Activity andrà in fermato stato alzando il suo metodo onStop . È progettato in modo da Android's Activity life-cycle. Non ha nulla a che fare con un tipo di contesto.

Tuttavia, se non si vuole che si verifichi onStop, allora forse si può provare emulando la vista atteso (s) attraverso Dialogs che farà sì che la vostra attività di raggiungere fino ad suo stato .

+0

Posso aprire una finestra di dialogo all'interno di una finestra di dialogo? o la finestra dovrebbe aprire le attività? –

+0

È necessario procedere con le attività se i requisiti della vista sono complessi. Perché vuoi evitare onStop nell'attività dei tuoi genitori? – waqaslam

+0

Causa per qualche strana ragione, arrivo a onDestroy ... e non posso tornare all'attività. –