使用putExtra和getExtras时出现空指针异常

时间:2011-07-17 18:56:15

标签: java android

我正在尝试使用putExtra和getExtras在我正在编写的安卓游戏中传递一些信息(这是一个分数)。当我传递它时,我在一个类中使用此代码来输入信息:

Intent winScreen = new Intent(context, WinScreen.class);
winScreen.putExtra("score", "123");

当我得到它时,我正在使用:

Intent x=new Intent(this, GameCall.class);
Bundle ebundle = x.getExtras();
String score = (String) x.getExtras().getSerializable("score");

我现在只是尝试使用样本分数进行测试,所以我认为设置正确的值不是问题所在。这是我在其他地方看到的为何会出现这样的空指针的建议。我知道它将“得分”理解为额外的。所以我很难知道信息丢失的地方!

2 个答案:

答案 0 :(得分:1)

使用Intent启动新活动时,必须使用getIntent()来获取意图的特定实例。使用Intent x=new Intent(this, GameCall.class);将无效。请尝试以下代码:

Intent x= this.getIntent(); //in the WinScreen activity
String score = (String) x.getStringExtra("score");

答案 1 :(得分:-1)

使用Intent.getExtras()会返回您之前使用Bundle方法添加到Intent的Intent. putExtras()。要简单地向Intent添加一个String,请使用Intent.putExtra(String tag, String value)并使用Intent.getStringExtra(String tag)获取它。我自己多次犯了这个错误;它不是非常用户友好的xD

相关问题