Android 通过intent在活动之间传递变量会引发NullPointerException

Android 通过intent在活动之间传递变量会引发NullPointerException,android,android-intent,Android,Android Intent,为什么会抛出NullPointerException 在repaime.java中 int yourInt = 200; Intent myIntent = new Intent(Redeem.this, MainActivity.class); myIntent.putExtra("intVariableName", yourInt); startActivity(myIntent); 在MainActivity.java中 Bundle extras = getIntent().getEx

为什么会抛出NullPointerException

在repaime.java中

int yourInt = 200;
Intent myIntent = new Intent(Redeem.this, MainActivity.class);
myIntent.putExtra("intVariableName", yourInt);
startActivity(myIntent);
在MainActivity.java中

Bundle extras = getIntent().getExtras();
int score = extras.getInt("intVariableName");
  Bundle extras = getIntent().getExtras();
  int score =Integer.parseInt(extras.getString("intVariableName"));
尝试:

Bundle extras = getIntent().getExtras();
String stringScore = extras.getString("intVariableName");
int score = Integer.parseInt(stringScore);
或:

您也可以尝试以下方法:

int yourInt = 200;
Intent myIntent = new Intent(Redeem.this, MainActivity.class);
myIntent.putExtra("intVariableName", String.valueOf(yourInt));
startActivity(myIntent);
在MainActivity.java中

Bundle extras = getIntent().getExtras();
int score = extras.getInt("intVariableName");
  Bundle extras = getIntent().getExtras();
  int score =Integer.parseInt(extras.getString("intVariableName"));
使用以下命令:

getIntent().getIntExtra("intVariableName", 0); //where 0 is default value

我不确定,但我认为在putExtra中,你只需要设置字符串。。你能试试吗?你是在onCreate中做的吗?请分享你的日志。代码似乎还可以。显然,
main活动
是在没有其他“附加”的情况下启动的。如果你得到一个NPE,这意味着
getIntent().getExtras()
返回
null
,表明没有“extras”。@RafaelaLourenço它不起作用。是的,我正在OnCreate中进行此操作。这是日志。我试着把它缩短到那一刻。谢谢大家,这行不通。OP添加了一个
int
“额外”。调用
getString()
将返回
null
。在任何情况下,如果OP得到一个
NullPointerException
,这意味着没有“额外的”
Bundle
,这意味着您的代码在执行
extras.getString()
时也会抛出一个
NullPointerException
。如果OP得到的是
NullPointerException
,这意味着没有“额外的”
Bundle
,这意味着在您的第一个建议中,您的代码在执行
extras.getString()
时也会抛出
NullPointerException