gpt4 book ai didi

java - 在 Android Intent 中传递任意对象

转载 作者:行者123 更新时间:2023-11-29 03:01:09 25 4
gpt4 key购买 nike

我希望通过 Android Intent 传递任意对象,我有以下代码:

在 Activity 中,我希望从以下位置发送意向:

Intent intent = new Intent(containerListActivity, com.uk.jacob.containerdroid.activities.ContainerDetailsActivity.class);
intent.putExtra("container", containers.get(i));
containerListActivity.startActivity(intent);

我希望收到 Intent 的 Activity :

System.out.println(getIntent().getExtras("container"));

我似乎收到错误消息“无法解析方法 putExtra。

containers 本质上是一个 Jackson JSON 映射的 POJO。

最佳答案

不幸的是,您不能在 Intent 中放置任意对象。它需要是 ParcelableSerializable

http://developer.android.com/reference/android/content/Intent.html

您可以通过几种方式做到这一点:

  1. 让您的自定义类实现Serializable。这可以快速编码,但性能可能不佳。
  2. 让您的自定义类实现Parcelable。这可能需要一些工作。
  3. 使用 Jackson 将您的 container 转换为字符串,然后使用 getStringExtra 将其转换回来。

关于java - 在 Android Intent 中传递任意对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34840582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com