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干净得多