Android:Intent.getBooleanArrayExtra(key)返回null

时间:2015-08-06 15:53:13

标签: android android-intent nullpointerexception

我正在创建一个需要在Activities之间传输数据的程序,我看到我试图在MyIntent.mExtras.mMap中传输的布尔数组对象,但是当我这样做时,

Intent.getBooleanArrayExtra("AnsweredBoolAR")

我得到null。我正在使用

Intent MyIntent = new Intent(MainActivity.this, DataSummary.class);
MyIntent.putExtra("AnsweredBoolAR", Answered.toArray());

发送我的数据。

我已经使用了调试器和我放入密钥和数值集的数组不是null

1 个答案:

答案 0 :(得分:1)

当您使用toArray()的{​​{1}}方法时,它会返回ArrayList的数组,而不是Object[]包含的特定类型的数组。

但是,当您在ArrayList上致电getBooleanArrayExtra(...)时,它会专门针对Intent并返回boolean[],因为它无法找到该数组类型。

null实现了ArrayList,因此您可以使用...来整理所有内容...

Serializable

...当您想要从MyIntent.putExtra("AnsweredBoolAR", Answered); 检索它时,只需使用Intent的{​​{1}}方法。