getIntent()。getStringExtra(“ name”)返回null

时间:2019-04-24 12:19:12

标签: java android android-intent

我目前正在为我的学校项目制作“战舰”游戏。 首先,我在意图中添加了名为“ 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 个答案:

答案 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);
            }