CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: gianpassa con ben 3 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: DreamReaper con ben 20 Thanks ricevuti negli ultimi sette giorni
Utente del mese: DreamReaper con ben 76 Thanks ricevuti nell'ultimo mese

Pagina 2 di 2 primaprima 12
Visualizzazione dei risultati da 11 a 16 su 16
Discussione:

Passaggio dati tra activity

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #11
    Baby Droid


    Registrato dal
    May 2013
    Messaggi
    12

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Tutto chiaro grazie.
    Ho solo un problema, che ora ho creato l'intent nella prima activity e nella seconda prendo i dati solo che non sapendo come attivarlo ho messo l'intent e il putextra dentro al public void onCreate(Bundle savedInstanceState) iniziale ma così non va bene perché ogni volta che ci accedo da un'altra parte mi visualizza il valore di default di quando non riceve i dati invece io voglio creare un metodo apposta che quando utilizzo quell'intent della prima activity viene richiamato, un po' come avevi fatto vedere sopra

  2.  
  3. #12
    Baby Droid


    Registrato dal
    May 2013
    Messaggi
    12

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Tutto chiaro grazie.
    Ho solo un problema, che ora ho creato l'intent nella prima activity e nella seconda prendo i dati solo che non sapendo come attivarlo ho messo l'intent e il putextra dentro al public void onCreate(Bundle savedInstanceState) iniziale ma così non va bene perché ogni volta che ci accedo da un'altra parte mi visualizza il valore di default di quando non riceve i dati invece io voglio creare un metodo apposta che quando utilizzo quell'intent della prima activity viene richiamato, un po' come avevi fatto vedere sopra

  4. #13
    Androidiano L'avatar di iClaude76


    Registrato dal
    Oct 2012
    Località
    Trento
    Messaggi
    207
    Smartphone
    Galaxy S3, Nexus 7, G. Tab 2 7

    Ringraziamenti
    1
    Ringraziato 27 volte in 25 Posts
    Predefinito

    Basta che con putExtra metti un flag per capire quale Activity ha lanciato Activity2.

  5. #14
    Baby Droid


    Registrato dal
    May 2013
    Messaggi
    12

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Riusciresti a farmi un piccolo esempio su cosa devo aggiungere?
    questo è il mio codice
    Activity 1:
    Button dati = (Button) findViewById(R.id.dati);
    dati.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
    String pkg=getPackageName();
    Intent inviadati = new Intent(getApplicationContext(), BluetoothComunication.class);
    inviadati.putExtra(pkg+".myInt", i);
    startActivity(inviadati);
    }
    });
    Activity 2:
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.settings);
    Intent ricevidati=getIntent(); // l'intent di questa activity
    String pkg=getPackageName();
    int i=ricevidati.getIntExtra(pkg+".myInt", -1);//prendiamo i dati
    TextView tv=(TextView)findViewById(R.id.result);
    tv.append("myInt:"+i+"\n"); //visualizziamo i dati
    }

  6. #15
    Androidiano L'avatar di iClaude76


    Registrato dal
    Oct 2012
    Località
    Trento
    Messaggi
    207
    Smartphone
    Galaxy S3, Nexus 7, G. Tab 2 7

    Ringraziamenti
    1
    Ringraziato 27 volte in 25 Posts
    Predefinito

    Quote Originariamente inviato da Crastino3 Visualizza il messaggio
    Riusciresti a farmi un piccolo esempio su cosa devo aggiungere?
    questo è il mio codice
    Activity 1:
    Button dati = (Button) findViewById(R.id.dati);
    dati.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
    String pkg=getPackageName();
    Intent inviadati = new Intent(getApplicationContext(), BluetoothComunication.class);
    inviadati.putExtra(pkg+".myInt", i);
    startActivity(inviadati);
    }
    });
    Activity 2:
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.settings);
    Intent ricevidati=getIntent(); // l'intent di questa activity
    String pkg=getPackageName();
    int i=ricevidati.getIntExtra(pkg+".myInt", -1);//prendiamo i dati
    TextView tv=(TextView)findViewById(R.id.result);
    tv.append("myInt:"+i+"\n"); //visualizziamo i dati
    }
    Se Activity1 è l'unica Activity che lancia Activity2 mettendo nell'Intent come chiave pkg.myInt, allora se Activity2 è lanciata da un'Activity diversa da Activity1 quando fai getInt (cos'è getIntExtra?) ecc. nel metodo on Create non troverà la chiave e restituirà il valore di default -1.
    Quindi basta che fai if(i!=-1) {...}

  7. #16
    Baby Droid


    Registrato dal
    May 2013
    Messaggi
    12

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Hai perfettamente ragione, dato che ho appena iniziato con Android pensavo ci fosse proprio una maniera per farlo e chiedevo!
    getIntExtra invece è il metodo che ho trovato per recuperare gli int, ho visto che esiste un metodo personale per ogni tipo di dato primario

Pagina 2 di 2 primaprima 12

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy