Android 如何使用Parcelable和onClickListeners?

Android 如何使用Parcelable和onClickListeners?,android,json,parcelable,Android,Json,Parcelable,我一直在读包裹,读得越多,我就越感到困惑 我想说的是 连接到外部API以获取JSON数据(当前正在工作) 我正在将JSON对象解析为字符串,并将其放入HashMap中。我正在使用ListView显示可滚动的数据(当前正在工作) 我已经设置了一个onClickListener,它设置了一个新的意图(目前正在工作) 这就是我感到困惑的地方——我的目标是允许用户在Listview中单击一个项目,这将把他们带到一个新屏幕,其中包含关于他们单击的项目的更多详细信息 第4点的问题: 我是否使用Parcela

我一直在读包裹,读得越多,我就越感到困惑

我想说的是

  • 连接到外部API以获取JSON数据(当前正在工作)
  • 我正在将JSON对象解析为字符串,并将其放入HashMap中。我正在使用ListView显示可滚动的数据(当前正在工作)
  • 我已经设置了一个onClickListener,它设置了一个新的意图(目前正在工作)
  • 这就是我感到困惑的地方——我的目标是允许用户在Listview中单击一个项目,这将把他们带到一个新屏幕,其中包含关于他们单击的项目的更多详细信息 第4点的问题:

  • 我是否使用Parcelable类将JSON对象传递到intent中?对我来说,这是最好的选择吗
  • 如果Parcelable是正确的选择,我会创建一个新类来实现要传入的JSON对象的Parcelable吗?我想我真的不知道该怎么做。我看到的所有示例都有一些字符串,它们传递给writeToParcel()方法。不确定如何将其转换为具有多个属性的对象

  • 感谢您抽出时间阅读。

    将数据传递到下一个活动有多种方法,哪种方法最适合您取决于您的数据有多复杂。一些选择:

    Parcelable
    是传递复杂对象的有效方法。如果您走这条路线,那么您将创建一个实现
    Parcelable
    的新对象。您的写入方法可以是必要的复杂程度。如果您有一个复杂的对象树,只需使每个对象实现
    Parcelable
    ,并按照该对象的
    writeToParsel
    方法写出对象树的该部分

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

    如果您的活动只需要一些基本信息,您也可以将它们作为各自的额外信息传递

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