主要活动:
Intent intent = new Intent(Main.this, Secondary.class);
intent.putExtra("name",value);
startActivity(intent);
次要活动:
String value = getIntent().getStringExtra("name")
这里有什么问题?我搜索了很多但没有成功......
由于
答案 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)
我发现我的代码中存在问题,这是我的错。这不是一个意图问题。谢谢大家。