我目前正在为我的学校项目制作“战舰”游戏。首先,我将名为“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();我检查了所有名称是否对齐,大写字母等,并且我使用了正确的格式来发送和接收额外的(我制作了一个演示应用程序来测试结果,结果完全符合预期)。
2 回答
翻翻过去那场雪
TA贡献2065条经验 获得超13个赞
尝试这个,
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);
}
慕运维8079593
TA贡献1876条经验 获得超5个赞
像这样调用方法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); }
添加回答
举报
0/150
提交
取消