getStringExtra()始终抛出NullPointerException

时间:2013-07-28 19:47:24

标签: java android

主要活动:

Intent intent = new Intent(Main.this, Secondary.class);

intent.putExtra("name",value);

startActivity(intent);

次要活动:

String value = getIntent().getStringExtra("name")

这里有什么问题?我搜索了很多但没有成功......

由于

5 个答案:

答案 0 :(得分:2)

试试这个:

在MainActivity中:

//确保Secondary是活动名称。 Secondary.class。

Intent intent = new Intent(this, Secondary.class);
intent.putExtra("name",value);
startActivity(intent);

在辅助活动中:

String value = getIntent().getExtras.getString("name");

您需要先获取捆绑包然后从中提取字符串。

Bundle bundle = getIntent().getExtras();
if (bundle != null) {
    bundle.getString("name");
}

两者都应该有用。第二个是检查bundle是否为null。

答案 1 :(得分:0)

致电putExtra(...)时,请确保value对象为String。如果您要传递任何其他对象,请确保显式调用value.toString(),尤其是在处理GUI组件时。

有关详细信息,请参阅此处:Android Intent.getStringExtra() returns null

答案 2 :(得分:0)

我已经使用过这种方法了。只需确保值具有值或已初始化。您可以在 .putExtra 之后使用日志 System.out.println(值); 来查看(在控制台选项卡中)如果value为null。在第二次活动中也是如此。

答案 3 :(得分:0)

更改此行

String value = getIntent().getStringExtra("name");

到这一行

String value = getIntent().getString("name");

答案 4 :(得分:0)

我发现我的代码中存在问题,这是我的错。这不是一个意图问题。谢谢大家。