无法将var传递给其他活动

时间:2012-05-31 13:04:50

标签: android android-intent

将var传递给其他活动时遇到问题: 这是我接受变量的地方:

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         
    nome=intent.getStringExtra(pkg+".myNome");

这是我改变活动的地方:

public void checkout (View v){
    // l'intent di questa activity
    Intent intent;
    String pkg=getPackageName();
    intent=new Intent(getApplicationContext(), checkout.class);
    //li reinseriamo nell'intent
    intent.putExtra(pkg+".myNome", nome);
    intent.putExtra(pkg+".myId", id);

    Log.d(TAG,"questo è il nome che va ad instargh:"+nome);
    startActivity(intent);
}

感谢日志我确信“nome”具有我想要的价值。 这是我采取“myNome”

的地方
public class checkout<targhe> extends ListActivity
{String sId=null;
@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.checkout); 
    Intent intent;
    String pkg=getPackageName();                    
    intent=new Intent(getApplicationContext(), scelta.class);
    nome=intent.getStringExtra(pkg+".myNome");
    Log.D(TAG,"name"+nome);}

使用此日志“nome”始终为null。我不明白为什么我不能从意图中取出myNome:/

这不是所有代码,但是对我的问题很重要的部分。

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:4)

仔细查看您的代码

在结账活动中你已经写了

nome=intent.getStringExtra(pkg+".myNome");

用以下

替换上面的代码行
nome=getIntent().getStringExtra(pkg+".myNome");

答案 1 :(得分:1)

checkout中,尝试更改

Intent intent;                  
intent=new Intent(getApplicationContext(), scelta.class);

Intent intent = getIntent();

看看是否有效。

此外,您的Activity是否在同一个套餐中?如果不是,getPackageName()两者都会有所不同。

答案 2 :(得分:0)

你应该使用getIntent()。getStringExtra(pkg +&#34; .myNome&#34;);