【问题标题】:how can I send a List into another activity in Android Studio如何将列表发送到 Android Studio 中的另一个活动
【发布时间】:2015-10-03 23:41:27
【问题描述】:

我知道我可以通过将 putextra() 放在我的 Intent 上来添加一个字符串或一个整数,但是如果我必须发送一个列表,我该怎么办? 例如,我的主要活动包含一个列表,我有一个不同的活动将一个项目添加到列表中,我有第三个活动需要显示整个列表

【问题讨论】:

  • 当有人问如何“在 Android Studio 中”完成特定的编程任务时,我总是有点惊讶和震惊。 Android Studio 是您的 IDE - 即您的编辑器。您正在使用 Java 编程语言和 Android 类库。这就像有人试图写一部小说,并询问如何处理“在 MS Word 中”的特定情节转折。

标签: android list android-intent android-activity


【解决方案1】:

您的对象也可以实现 Parcelable 接口。然后您可以使用Bundle.putParcelable() 方法并在意图内的活动之间传递您的对象。

Photostream 应用程序使用这种方法,可以作为参考http://code.google.com/p/apps-for-android/

来源:谷歌“在 android 活动之间传递对象”:)

【讨论】:

    【解决方案2】:

    通过在 API 文档和大多数示例中将 Activity 设为 Android API 的中心焦点,Google 鼓励缺乏经验的开发人员将 Activity 视为 Android 应用程序中的唯一构造。而且,不幸的是,大多数广泛可用的文献和网络上可用的过度简化的代码示例都延续了这一点。

    但是,无论平台或编程语言如何,良好的软件设计都会建议您使用数据“模型”的概念 - 一个包含对您的应用程序很重要的数据的类,以及在其上运行的方法那个数据。这个类应该独立于任何与用户界面相关的类。

    从流行的模型-视图-控制器(又名 MVC)设计模式的角度来看,活动本质上是视图和控制器的混搭。

    您应该努力从活动中删除对数据的管理,并将其放在其他地方,在非 Android 类中。然后将该类提供给需要它的活动,而不是简单地将数据从活动传递到活动。

    把这个模型类放在哪里?有很多方法可以做到这一点,包括但不限于:

    1. 使其成为您的应用程序类的成员(如果您还没有,则为应用程序的子类) - 这简单方便,但仅适用于非常小的应用程序 - 它很快就会失控
    2. 使其独立,但将所有数据成员和方法设为静态 - 再次简单方便,但仅适用于非常少量的数据
    3. 使用依赖注入库(例如 Dagger),使其成为单例,并注入到需要它的活动中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      • 2014-09-06
      • 2023-03-08
      • 2016-11-04
      • 2012-07-20
      相关资源
      最近更新 更多