getIntent().getStringExtra("name") 返回 null

我目前正在为我的学校项目制作“战舰”游戏。首先,我将名为“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();


我检查了所有名称是否对齐,大写字母等,并且我使用了正确的格式来发送和接收额外的(我制作了一个演示应用程序来测试结果,结果完全符合预期)。


DIEA
浏览 302回答 2
2回答

翻翻过去那场雪

尝试这个,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

像这样调用方法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);             }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java