将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:/
这不是所有代码,但是对我的问题很重要的部分。
有人可以帮助我吗?
答案 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;);