Android 使用 Bundle 传递参数返回 null

Android passing parameters using Bundle is returning null

我在 android 中向我的新 activity 传递了一个参数:

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 不为空。是的,我正在从正确的 activity.

呼叫

我已经看到 this 但没有得到答复,我的始终为空。

您正在设置它们的键名 "key" 并获得 "b"。获取正确的密钥,即 "key"

您正在将数据传递给 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");