2012-05-03 2 views
0

J'ai trois activités:
-login
-choix
-entrée
Je dois passer le var « Nom » de connexion au choix (et bien ce travail) et puis, du choix à l'entrée, et c'est où j'ai le problème:/ Je peux passer le nom au choix, mais quand j'essaye de le passer à l'entrée, je ne peux pas! Ceci est le code pour passer de la connexion à choixne peut pas passer une variable à une troisième activité

  Intent intent; 
      String pkg=getPackageName();      
      intent=new Intent(getApplicationContext(), scelta.class); 
      //inseriamo i dati nell'intent 
      String parts[] = risp.split("/"); 
      intent.putExtra(pkg+".myNome", parts[0]); 
      intent.putExtra(pkg+".myId", parts[1]); 
      startActivity(intent); 

c'est le choix (où est probablement l'erreur):

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.scelta);   
    // l'intent di questa activity 
    Intent intent=getIntent(); 
    String pkg=getPackageName(); 
    //prendiamo i dati 
    String nome=intent.getStringExtra(pkg+".myNome"); 
    String Id=intent.getStringExtra(pkg+".myId"); 
    intent.putExtra(pkg+".myNome", nome); 
    intent.putExtra(pkg+".myId", Id); 
    TextView tvNome = (TextView) findViewById(R.id.txtNome); 
    tvNome.setText(nome); 
} 


//pulsante per il checkin 
public void checkin (View v){ 
    // l'intent di questa activity 
    Intent intent=getIntent(); 
    String pkg=getPackageName(); 
    //prendiamo i dati 
    String nome=intent.getStringExtra(pkg+".myNome"); 
    String Id=intent.getStringExtra(pkg+".myId"); 
    //li reinseriamo nell'intent 
    intent.putExtra(pkg+".myNome", nome); 
    intent.putExtra(pkg+".myId", Id); 
    intent=new Intent(getApplicationContext(), entrata.class); 
    startActivity(intent); 
} 

checkin est la méthode que je l'utilise quand je tape sur le bouton pour passer du choix à l'entrée. Et c'est là que je prends le nom en entrée:

Intent intent=getIntent(); // l'intent di questa activity 
String pkg=getPackageName(); 
String nome=intent.getStringExtra(pkg+".myNome"); //prendiamo i dati 

TextView tvNome = (TextView) findViewById(R.id.nome); 
tvNome.setText(nome); 
+0

C'est un double de http://stackoverflow.com/questions/10450658/android-cant-pass-variable-to-a-third-activity –

Répondre

0

Dans votre méthode checkin() vous ajoutez les extras et vous créez une nouvelle intention qui remplace la variable « intention » locale, qui effacera les extras à nouveau. Réorganiser les 4 dernières lignes de votre méthode checkin() comme ceci:

intent=new Intent(getApplicationContext(), entrata.class); 
intent.putExtra(pkg+".myNome", nome); 
intent.putExtra(pkg+".myId", Id); 
startActivity(intent); 
Questions connexes