使用Bundle的Android传递参数返回null

时间:2016-08-09 15:46:14

标签: android nullpointerexception android-bundle

我将一个参数传递给我在android中的新活动:

Intent intent = new Intent(this,InOccasion.class);
intent.putExtra("key",key); //I've checked an seen that in this activity "key" isn't null
this.startActivity(intent);

正如我所说,这个区块中的key并非空。

然而,当我检索它时:

Bundle b = getIntent().getExtras();
if (b!=null)
  key = b.getString("b");

keynull并导致NullPointerException。但是,我确定key不是空的。是的,我正在呼吁正确的活动。

我已经看过this但是没有得到答复,我的一直都是空的。

2 个答案:

答案 0 :(得分:2)

您正在设置密钥名称"key"并获取"b"。获取正确的密钥,即"key"

答案 1 :(得分:1)

您要将数据传递到intent而不是Bundle。当您将数据写为:

Intent intent = new Intent(this, InOccasion.class);
intent.putExtra("key", key); // key must be a String object

获取如下:

Intent intent = getIntent();
key = intent.getStringExtra("key");