【问题标题】:ListView Item Detail Screen: New or Same Activity?ListView 项目详细信息屏幕:新活动还是相同活动?
【发布时间】:2010-05-07 22:38:46
【问题描述】:

我有一个列表视图,其中每个项目都与数组中项目的一个实例相关联。当用户选择一个项目时,它会弹出一个“详细信息”页面,该页面读取并显示列表项的其他数据成员。

将详细信息页面作为自己的活动或在同一活动中使用新视图会更好地实现吗?各有优劣?

一个新的活动让我的工作在处理“后退”按钮方面变得更容易一些,但是我面临的挑战是如何将其余数据结构传递给新活动,因为我无法捆绑它up(除非我序列化它)。

******EDIT**** 基本上我有一个播放列表,其中列表项显示标题, 项目编号和图标。单击该项目将显示完整的项目描述屏幕。我倾向于将其包含在播放列表活动中,因为所有数据都包含在那里。

【问题讨论】:

    标签: android listview android-activity


    【解决方案1】:

    取决于您希望如何完成,我建议对具有大量信息的事物使用新活动;特别是如果您需要一些交互性,例如链接。

    专业人士主要是应用程序的流程。用户可以使用后退按钮更轻松地导航。

    骗子必须有一个全新的活动才能查看详细信息

    但是,如果您只是扩展描述,则可以使用对话框。

    【讨论】:

      【解决方案2】:

      这取决于您是否希望能够从其他地方调用该项目,然后将其拆分为单独的 Activity 是要走的路。至于如何在那里获取数据,为什么不直接传递带有项目 id 的 Intent,然后根据 id 从数据存储中加载它。

      【讨论】:

        【解决方案3】:

        但是我面临的挑战是如何 我要传递其余的数据吗 自从我开始新活动的结构 不能捆绑它(除非我序列化 它)。

        或者,将您的模型移到初始 Activity 之外。例如,您可以让每个Activity 绑定到的Service 持有您的列表,并让它管理模型。或者,将模型保存在静态数据成员中(尽管要注意 GC 问题)。或者,如果最终这将在数据库中,则现在将其获取到数据库中,然后只需通过额外的将密钥传递给项目,以便详细活动可以从数据库中获取它。

        【讨论】:

        • 对于应用程序全局变量,我一直在继承 Application 并使用其中的字段。然而,将我的播放列表项目从与播放列表相关的活动中拉出来将是一个重大的惯例突破。得想想这个。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-21
        • 1970-01-01
        • 1970-01-01
        • 2020-07-12
        • 2013-08-09
        • 2015-09-10
        • 1970-01-01
        相关资源
        最近更新 更多