为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

DIEA 2022-10-20 17:27:15
我目前正在为我的学校项目制作“战舰”游戏。首先,我将名为“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);

            }


查看完整回答
反对 回复 2022-10-20
?
慕运维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);
            }


查看完整回答
反对 回复 2022-10-20
  • 2 回答
  • 0 关注
  • 301 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信