无法将变量传递给第三个活动

时间:2012-05-03 15:08:46

标签: android-activity

我有三项活动:
-Login
-choice
-entry
我必须将var“Name”从登录传递给选择(并且这项工作很好)然后,从选择到输入,这就是我遇到问题的地方:/ 我可以将名字传给选择,但当我尝试将其传递给参赛者时,我不能! 这是从登录传递到选择

的代码
            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);

这是选择(可能是错误):

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是我点击按钮从选择到进入的方式时使用的方法。 这就是我在Entry中取名的地方:

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);

1 个答案:

答案 0 :(得分:0)

在你的checkin()方法中添加额外内容,然后创建一个新的Intent来替换本地“intent”变量,有效地再次清除附加内容。重新排序checkin()方法的最后4行,如下所示:

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