Java 使用getIntent().getExtras().getString时出现nullpointerexception
我想将一个活动中的值传递给另一个活动并使用此代码Java 使用getIntent().getExtras().getString时出现nullpointerexception,java,android,nullpointerexception,Java,Android,Nullpointerexception,我想将一个活动中的值传递给另一个活动并使用此代码 Intent i = new Intent(MainActivity.this,ListActivity.class); i.putExtra("position","ایران"); startActivity(i); value = getIntent().getExtras().getString("position"); 在返回变量的其他活动中,请
Intent i = new Intent(MainActivity.this,ListActivity.class);
i.putExtra("position","ایران");
startActivity(i);
value = getIntent().getExtras().getString("position");
在返回变量的其他活动中,请使用此代码
Intent i = new Intent(MainActivity.this,ListActivity.class);
i.putExtra("position","ایران");
startActivity(i);
value = getIntent().getExtras().getString("position");
现在,当我运行程序时,会出现以下错误:
java.lang.nullpointerexception
请帮助我。这是检索额外字符串的正确方法:
value = getIntent().getStringExtra("position");
解释
getExtras()不起作用的原因:
getExtras()返回以前使用putExtras(bundle)放入intent中的bundle。
因此,代码看起来像:
// Put position inside intent using extras:
Intent intent = new Intent();
Bundle extras = new Bundle();
extras.putString("position",position);
intent.putExtras(extras);
// Retrieve position:
getIntent().getExtras().getString("position");
但是这需要更多的代码,直接在意图中存储额外的代码要比X干净得多