Autore Topic: Avviare una nuova activity  (Letto 6598 volte)

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Avviare una nuova activity
« il: 30 Dicembre 2011, 13:37:30 CET »
+4
Domanda molto frequente sul forum "come avvio una nuova activity?"
La risposta é davvero molto semplice.

Volendo avviare Activity2 da Activity1 non dobbiamo fare altro che

Codice (Java): [Seleziona]
Intent i = new Intent(Activity1.this, Activity2.class);
startActivity(i);

e per finire aggiungere Activity2 nel manifest

Codice (XML): [Seleziona]
<activity
   android:name=".Activity2"
   android:label="@string/activity2_name"/>

C'é da precisare che in android:name va specificato il percorso completo dove si trova l'activity.
Postate il LogCat LogCat LogCat LogCat LogCat

Offline ViTiX

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7 SP1
Re:Avviare una nuova activity
« Risposta #1 il: 30 Settembre 2012, 12:41:59 CEST »
0
Grazie!

Offline Colly

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Windows 7
R: Avviare una nuova activity
« Risposta #2 il: 30 Settembre 2012, 16:22:30 CEST »
0
Grazie :)
...e per tornare dalla seconda alla prima activity? Lancio un intent con la stessa logica?

Inviato dal mio Zpad

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:R: Avviare una nuova activity
« Risposta #3 il: 30 Settembre 2012, 17:20:52 CEST »
0
Grazie :)
...e per tornare dalla seconda alla prima activity? Lancio un intent con la stessa logica?

Se non hai esplicitamente distrutto la prima activity al momento in cui chiami la seconda, quando esci dalla seconda torni alla precedente.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Colly

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Windows 7
R: Avviare una nuova activity
« Risposta #4 il: 30 Settembre 2012, 19:23:16 CEST »
0
Si con il finish()
Sai perchè ho chiesto se voi usate un intent? Perchè devo portare un dato dalla seconda activity alla prima con un bundle ma non ci riesco...

Inviato dal mio Zpad

Offline angeloflove82

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy next
Re:R: Avviare una nuova activity
« Risposta #5 il: 01 Ottobre 2012, 13:02:04 CEST »
+1
Si con il finish()
Sai perchè ho chiesto se voi usate un intent? Perchè devo portare un dato dalla seconda activity alla prima con un bundle ma non ci riesco...

Inviato dal mio Zpad

activity 1
Codice (Java): [Seleziona]
        String dato_da_passare="dato";
             Intent i = new Intent(getApplicationContext(), tua_activity2.class);
             i.putExtra("testo", dato_da_passare);  
             startActivity(i);  
             finish();

seconda activity

Codice (Java): [Seleziona]
Intent i = getIntent();
String dato_passato = i.getStringExtra("dato_da_passare");

UN BEL non si rifiuta mai !!!

Offline Colly

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Windows 7
Re:R: Avviare una nuova activity
« Risposta #6 il: 01 Ottobre 2012, 19:26:37 CEST »
0
activity 1
Codice (Java): [Seleziona]
        String dato_da_passare="dato";
             Intent i = new Intent(getApplicationContext(), tua_activity2.class);
             i.putExtra("testo", dato_da_passare);  
             startActivity(i);  
             finish();

seconda activity

Codice (Java): [Seleziona]
Intent i = getIntent();
String dato_passato = i.getStringExtra("dato_da_passare");

Ciao, intanto grazie per la risposta. Allora mi fa una cosa strana...
Se nella Seconda Activity (che nel mio caso è una ListView) scrivo ciò che mi hai detto quando seleziono l'elemento dovrebbe uscirmi, tornare alla Activity principale e trasportarmi il dato selezionato (sotto forma di String) ma non mi esce  :-\ "rimbalza"! Praticamente riapre la stessa Activity.
Se elimino ciò che mi hai suggerito e lascio solo il metodo finish() nel metodo di evento onItemClick() non mi trasporterà il dato, ma si chiude regolarmente tornando alla Activity principale

Offline angeloflove82

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy next
Re:Avviare una nuova activity
« Risposta #7 il: 01 Ottobre 2012, 20:09:15 CEST »
0
quello che ti ho passato serve solo a passarti un parametro da un activity a ad una b.
Infatti se provi a fare System.out.println(dato_passato); dovrebbe darti la stringa che gli passi nella prima activity che poi la puoi mettere dove ti pare.
UN BEL non si rifiuta mai !!!

Offline Colly

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Windows 7
R: Re:Avviare una nuova activity
« Risposta #8 il: 01 Ottobre 2012, 20:39:42 CEST »
0
quello che ti ho passato serve solo a passarti un parametro da un activity a ad una b.
Infatti se provi a fare System.out.println(dato_passato); dovrebbe darti la stringa che gli passi nella prima activity che poi la puoi mettere dove ti pare.
Si l'avevo capito. Guarderò meglio da cosa può dipendere il mio problema. Grazie delle risposte

Inviato dal mio Zpad
« Ultima modifica: 01 Ottobre 2012, 21:21:04 CEST da Colly »

Offline Colly

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Windows 7
Re:Avviare una nuova activity
« Risposta #9 il: 01 Ottobre 2012, 21:21:26 CEST »
0
Scusaaaaaaa, avevo sbagliato io!!! Che pollo!
Adesso funziona però ho notato una cosa:
facendola brave può essere che abbia avviato la PrimaActivity sopra a quella che era rimasta in sospeso? Cioè che ne abbia due in esecuzione? Una in cima allo stack e una in pausa?

Offline angeloflove82

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy next
Re:Avviare una nuova activity
« Risposta #10 il: 02 Ottobre 2012, 08:34:27 CEST »
+1
Scusaaaaaaa, avevo sbagliato io!!! Che pollo!
Adesso funziona però ho notato una cosa:
facendola brave può essere che abbia avviato la PrimaActivity sopra a quella che era rimasta in sospeso? Cioè che ne abbia due in esecuzione? Una in cima allo stack e una in pausa?

Distruggi sempre la prima se non ti serve, così non ti resta appesa.
UN BEL non si rifiuta mai !!!

Offline Colly

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Windows 7
Re:Avviare una nuova activity
« Risposta #11 il: 02 Ottobre 2012, 13:06:41 CEST »
0
...e come  :-\

Offline angeloflove82

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy next
Re:Avviare una nuova activity
« Risposta #12 il: 03 Ottobre 2012, 07:54:53 CEST »
0
UN BEL non si rifiuta mai !!!