Button novice = (Button) findViewById(R.id.novice);
novice.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
Intent nov = new Intent(getApplicationContext(), gameface.class);
startActivity(nov);
nov.putExtra("lvl", "1");
}
});
Button easy1 = (Button) findViewById(R.id.easy);
easy1.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
Intent eas = new Intent(getApplicationContext(), gameface.class);
startActivity(eas);
eas.putExtra("lvl", "2");
}
});
这是我的代码所以我尝试按下按钮发送数据并考虑使用 这个
Intent g = getIntent();
String x = g.getStringExtra("lvl");
在新活动上捕获它是哪个按钮但它不起作用。
有人可以告诉我什么事吗?
答案 0 :(得分:2)
您需要在eas.putExtra("lvl", "2");
之前致电startActivity(eas);
:
public void onClick(View v) {
Intent eas = new Intent(getApplicationContext(), gameface.class);
eas.putExtra("lvl", "2");
startActivity(eas);
}
此外,尽管代码中未提及,但请务必使用“等于”而不是==
来比较字符串。
答案 1 :(得分:2)
您需要在启动活动之前将Extras放入Intent。
eas.putExtra("lvl", "2");
startActivity(eas);
答案 2 :(得分:1)
他们告诉你在调用intent之前放入eas.putExtra,因为putExtra是你向intent添加额外数据的方式,所以你可以在新活动中将它拉出来。收到意图后,您可以从意图对象中提取此序列化数据,并在新活动中使用它。这就是你可以在活动之间传递“额外”数据的方法,因为在Android中,每个活动都是它自己的小沙箱,并且只能通过意图与其他活动一起运行。