Autore Topic: variabile comune tra due activity  (Letto 1013 volte)

vincenzodicicco

  • Visitatore
variabile comune tra due activity
« il: 23 Giugno 2010, 01:15:57 CEST »
0
Salve a tutti, mi trovo davanti al seguente problema:
ho creato una semplicissima classe di prova:
Codice (Java): [Seleziona]
public class Salva {
        String testo;
        }
e due activity con ognuna un pulsante che premuto chiama l'altra activity, con il seguente codice:
Codice (Java): [Seleziona]
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class prova extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button pulsante = (Button) findViewById(R.id.Button01);
        pulsante.setOnClickListener(new OnClickListener() {
                       
                        @Override
                        public void onClick(View arg0) {
                                // TODO Auto-generated method stub
                                Salva salva = new Salva();      
                                salva.testo="Prova";    //?
                                Toast.makeText(prova.this, salva.testo, Toast.LENGTH_SHORT).show();
                                Intent activity2 = new Intent(prova.this, prova2.class);
                                startActivity(activity2);
                        }
                });
    }
}
Ora, nella linea di codice segnata con il punto interrogativo io do un valore alla variabile testo che difatti viene dato, ma la cosa che ho notato e che questo valore rimane solo in questa activity. Se io passo all'altra e provo a richiamare il valore della variabile testo esce fuori che è vuota.Sapete il motivo? sinceramente sono rimasto male perché pensavo fosse un qualcosa di scontato che rimanesse :) Grazie a chiunque possa aiutarmi. Ho ridotto il codice all'essenziale appunto perché credevo fosse qualcos'altro che influisse

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:variabile comune tra due activity
« Risposta #1 il: 23 Giugno 2010, 09:07:10 CEST »
0
Prova in questo modo:

Codice (Java): [Seleziona]
        class Salva{
                private static Salva instance;
                public String testo;
               
                private Salva(){};
               
                public static Salva getInstance(){
                        if(instance == null){
                                instance = new Salva();
                        }
                        return instance;
                }
        }

e invece di:
Codice (Java): [Seleziona]
 Salva salva = new Salva();
metti:
Codice (Java): [Seleziona]
Salva salva = Salva.getInstance();


vincenzodicicco

  • Visitatore
Re:variabile comune tra due activity
« Risposta #2 il: 23 Giugno 2010, 13:12:46 CEST »
0
Innanzi tutto grazie mille. Il codice funziona, potresti spiegarmi di preciso cosa fa? non riesco a comprenderlo.. :-) ad ogni modo metto risolto al topic :-)

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +203
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:variabile comune tra due activity
« Risposta #3 il: 23 Giugno 2010, 13:16:39 CEST »
0

vincenzodicicco

  • Visitatore
Re:variabile comune tra due activity
« Risposta #4 il: 23 Giugno 2010, 13:22:44 CEST »
0
Grazie davvero