我目前正在为我的学校项目制作“战舰”游戏。 首先,我在意图中添加了名为“ hostState”和“ key”的字符串,然后开始活动:
public void startGame(String key){
i = new Intent(OnlineGame.this, Start.class);
i.putExtra("key", key);
i.putExtra("hostState", hostState);
startActivity(i);
}
当我尝试检索字符串时,它返回null。这是我尝试检索字符串的方式:
key = getIntent().getStringExtra("key");
isHost = getIntent().getStringExtra("hostState");
当我在调试模式下运行代码时,它显示出意图(i)实际上包含了我放入的附加内容,但是由于某种原因,当我尝试使它们通过时,它不记得了getIntent().getStringExtra();
我检查了所有名称是否对齐,大写字母等,以及我使用的是正确的格式来发送和接收多余的内容(我制作了一个演示应用程序来测试结果,结果完全符合预期)
答案 0 :(得分:0)
调用方法 startGame(“ ABC”,“ XYZ”);
public void startGame(String key,String hostState){
i = new Intent(OnlineGame.this, Start.class);
i.putExtra("key", key);
i.putExtra("hostState", hostState);
startActivity(i);
}
答案 1 :(得分:0)
尝试一下
key = getIntent().getExtras().getString("key");
isHost = getIntent().getExtras().getString("hostState");
或者如果它不起作用,则更新putextra(手动类型转换)
public void startGame(String key){
i = new Intent(OnlineGame.this, Start.class);
i.putExtra("key", ""+key);
i.putExtra("hostState", ""+hostState);
startActivity(i);
}