1

主要活动:

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

intent.putExtra("name",value);

startActivity(intent);

次要活动:

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

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

谢谢

4

6 回答 6

3

尝试这个:

在 MainActivity 中:

//Make sure Secondary is an Activity name. Secondary.class.

Intent intent = new Intent(MainActivity.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");
}

两者都应该工作。第二个是检查捆绑包是否为空。

于 2013-07-28T20:08:08.557 回答
0

我发现我的代码有问题,这是我的错。这不是意图问题。谢谢你们。

于 2013-07-28T21:12:07.850 回答
0

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

有关更多信息,请参见此处:Android Intent.getStringExtra() 返回 null

于 2013-07-28T19:50:00.493 回答
0

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

于 2013-07-28T20:08:51.510 回答
0

更改此行

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

到这条线

String value = getIntent().getString("name");
于 2013-07-28T20:08:56.563 回答
0

你可以试试这个 -->

intent.putExtra("name", textView.getText().toString());

如果错误仍然存​​在,请签入您使用正确 id 路径的第二个活动...:-

value = findViewById(R.id.);
于 2021-10-16T20:39:52.960 回答