Un modo più ordinato rispetto alla risposta accettata sarebbe utilizzare Serializable
o Parcelable
.
Ecco un esempio di come farlo utilizzando Serializable
:
Nella tua prima attività ...
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("EXTRA_NEXT_ACTIVITY_CLASS", ThirdActivity.class);
startActivity(intent);
Poi, nel tuo seconda attività ...
Bundle extras = getIntent().getExtras();
Class nextActivityClass = (Class<Activity>)extras.getSerializable("EXTRA_NEXT_ACTIVITY_CLASS");
Intent intent = new Intent(SecondActivity.this, nextActivityClass);
startActivity(intent);
Doing con Parcelable
è praticamente la stessa, tranne che si sostituisce extras.getSerializable("EXTRA_NEXT_ACTIVITY_CLASS")
nel codice sopra con extras.getParcelable("EXTRA_NEXT_ACTIVITY_CLASS")
.
Il metodo Parcelable sarà più veloce, ma più difficile da configurare (poiché è necessario implementare il terzo strumento Attività Parcelable
- vedere http://developer.android.com/reference/android/os/Parcelable.html).
fonte
2016-01-07 21:01:38
Cosa vuoi raggiungere? – Stefan
Ho impostato un'attività che modifica il tema per l'applicazione, quindi ho bisogno dell'attività di impostazione per avviare l'attività che l'ha richiamata al termine. il reson non posso usare solo finish() è che ho bisogno dell'ultima attività per ricominciare tutto da capo e non riprendere jst. –