Android 通过intent在活动之间传递变量会引发NullPointerException
为什么会抛出NullPointerException 在repaime.java中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
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
。