我目前正在为我的学校项目制作“战舰”游戏。
首先,我将名为“ 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();获取它们时,它们不记得了

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

最佳答案

试试这个,

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

关于java - getIntent()。getStringExtra(“name”)返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55829892/

10-08 23:25