gpt4 book ai didi

android - 如何使用 Parcelable 和 onClickListeners?

转载 作者:行者123 更新时间:2023-11-29 02:14:44 25 4
gpt4 key购买 nike

我一直在阅读有关 Parcelables 的文章,但我读得越多,我就越对它感到困惑。

我正在尝试的是以下内容

  1. 连接到外部 API 以获取 JSON 数据(目前有效)。
  2. 我正在将 JSON 对象很好地解析为我放置在 HashMap 中的字符串。我正在使用 ListView 显示可滚动的数据(当前有效)
  3. 我已经设置了一个 onClickListener,它设置了一个新的 Intent (目前有效)
  4. 这就是我感到困惑的地方 - 我的目标是允许用户单击 Listview 中的项目,这会将他们带到一个新屏幕,其中包含有关他们单击的项目的更多详细信息。

第 4 点的问题:

  1. 我是否使用 Parcelable 类将 JSON 对象传递到 Intent 中?这是我的最佳选择吗?
  2. 如果 Parcelable 是正确的选择,我是否会创建一个新类来为要传入的 JSON 对象实现 Parcelables?我想我真的不确定如何进行。我见过的所有示例都只有几个字符串,它们传递给 writeToParcel() 方法。不确定这如何转化为具有多个属性的对象。

感谢您花时间阅读。

最佳答案

有多种方法可以将数据传递到下一个 Activity ,哪种方法最适合您在某种程度上取决于您的数据的复杂程度。一些选项:

Parcelable 只是一种传递复杂对象的有效方法。如果您走这条路,那么是的,您将创建一个实现 Parcelable 的新对象。您的 write 方法可以根据需要尽可能复杂。如果您有一个复杂的对象树,只需让每个对象实现 Parcelable 并遵从该对象的 writeToParsel 方法来写出对象树的那部分。

一种更简单但效率较低的方法是让所有对象都实现Serializable。序列化和反序列化已为您完成,但它明显比 Parcelable 实现慢。

如果您的 Activity 只需要一些原始信息,您也可以将它们分别作为额外信息传递。

最后,您可以使用您的 Application 类扩展或其他一些单例来存储复杂的数据结构,并只需将少量信息传递给新的 Activity它需要查找其余数据。这减少了您需要传递的数据量,并可能帮助您解决 Activity 启动和停止的问题。

关于android - 如何使用 Parcelable 和 onClickListeners?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4948796/

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