Activity dinamica in Intent e startActivity in Android e Java

Mattepuffo's logo
Activity dinamica in Intent e startActivity in Android e Java

Activity dinamica in Intent e startActivity in Android e Java

Ho un'Activity (la chiameremo C) alla quale ci accedo da diverse alre Activity (A e B).

Nella C, una volta eseguite le operazioni, devo tornare a quella di riferimento.

In generale dovrebbe bastare chiudere la C, ma è possibile che dobbiamo tornare indietro dei dati.

Nel qual caso avremmo la necessità di capire da quale Activity arriviamo.

Per farlo possiamo passare una string con il nome completo dell'Activity di provenienza, e poi usare la reflection per tornare indietro.

Vediamo i due snippet in Java per ottenere questo risultato; cominciamo con qualle di partenza:

Intent io = new Intent(this, OpzioniActivity.class);
io.putExtra("CLASS", "com.mp.app.HomeActivity");
startActivity(io);

Nella C, avremo invece un codice del genere:

Intent oi = getIntent();
String act = oi.getStringExtra("CLASS");
try {
	startActivity(new Intent(this, Class.forName(act)));
} catch (ClassNotFoundException e) {
}

Sicuramente ci sono altri metodi, magari anche più puliti; o comunque per altre esigenze.

Però questa è una possibilià!

Enjoy!


Condividi

Commentami!