如何将数据从主要活动发送到另一个活动?

时间:2011-08-26 09:05:12

标签: android android-activity

如何使用捆绑包发送1个以上的数据?

如果只有一个:

String status = txtStatus.getText().toString();
String txtstatus = String.valueOf(status);

Bundle bundle = new Bundle();
bundle.putString("status", txtstatus);

a.putExtras(bundle);
startActivityForResult(a, 0);

如果超过1个数据??

String status = txtStatus.getText().toString();
String txtstatus = String.valueOf(status);

String confirm = txtConfirm.getText().toString();
String txtconfirm = String.valueOf(confirm);

下一步是什么?

4 个答案:

答案 0 :(得分:1)

在添加bundle

时,请继续添加bundle.putString("status", txtconfirm );

并在完成后将此捆绑包设置为intent:a.putExtras(bundle);

答案 1 :(得分:0)

如果我理解了这个问题,那应该没问题:

Bundle bundle = new Bundle();
bundle.putString("status", txtstatus);
bundle.putString("confirm", txtconfirm);

答案 2 :(得分:0)

多个数据

String status = txtStatus.getText().toString();
 String txtstatus = String.valueOf(status);

 String confirm = txtConfirm.getText().toString();
 String txtconfirm = String.valueOf(confirm);

Bundle bundle = new Bundle();
bundle.putString("status", txtstatus);
bundle.putString("confirm",txtconfirm);

a.putExtras(bundle);
startActivityForResult(a, 0);

答案 3 :(得分:0)

序列化/分割自定义对象,使用密钥附加到捆绑包并在另一端撤消所有这些操作的过程在您拥有大量数据时或/和数据需要在不同目的/功能中用于推出活动等。

你可以查看我写的这个库(https://github.com/noxiouswinter/gnlib_android/wiki#gnlauncher)来尝试解决这个问题。

GNLauncher将对象/数据从另一个Activity等发送到Activity,就像调用Activity中的一个函数一样简单,并将所需的数据作为参数。它引入了类型安全性并消除了必须序列化的所有麻烦,使用字符串键附加到intent并在另一端撤消它。

您还可以通过选择要使用数据启动的方法直接触发活动中的不同功能。