首页 > 解决方案 > 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();

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

标签: javaandroidandroid-intent

解决方案


像这样调用方法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);
            }

推荐阅读