1

我在将 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);}

使用此日志“名称”始终为空。我不明白为什么我不能从意图中获取 myNome :/

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

有人可以帮助我吗?

4

3 回答 3

4

Carefully see your code

in checkout Activity you have written

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

Replace above line of code with following

nome=getIntent().getStringExtra(pkg+".myNome");
于 2012-05-31T13:08:27.463 回答
1

checkout,尝试改变

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

Intent intent = getIntent();

看看这是否有效。

另外,你Activity的两个是在同一个包里吗?如果不是,getPackageName()两者都会有所不同。

于 2012-05-31T13:11:01.273 回答
0

您应该使用 getIntent().getStringExtra(pkg+".myNome");

于 2016-01-08T10:46:35.217 回答