繁体   English   中英

在 Android 中处理多个活动实例的最佳方法

[英]Best way to handle multiple instance of an activity in Android

我想在我的应用程序中制作动态表单,forms 的数量将在运行时(1 到 n)决定。 为了实现这一点,我创建了一个 From Class 来扩展 Activity。 我的应用程序可以有这个表格 class 的多个实例,并从一个从一个导航到另一个。

在同一个类(From Class)的多个实例之间实现和通信的最佳方式是什么。

如何在两种形式之间进行通信(使用 Intent..?)。

或者

另一种选择是我为所有 forms 使用一个 Activity[As application] 并在同一个 Activity 上呈现每个表单?

从最终用户的角度来看,为不同的 forms 拥有多个独立的活动可能不是最明显的方式。 您可能需要考虑使用 TabLayout 对它们进行分组,甚至考虑使用 FrameLayout 和菜单切换器。

无论哪种方式都将简化信息交换。 如果使用FrameLayout,那么一切都是同一个Activity,这样问题就变得微不足道了。 如果您使用 TabLayout(可能是最佳选择),那么您可以在 TabActivity class 上存储一个公共 ArrayList,再次使交换变得非常简单。

如果您想遵循独立的活动路径,要考虑的其他选项是 Intent 上的附加项(例如,一个附加项可能是表单编号,另一个可能是要发送的数据)。 然后,活动可以在 if/else 块中处理这些额外内容,以将额外内容中的表单编号与私有字段进行比较。

最后,您可以将数据存储在 Application 实例中(始终只有一个实例)并从每个 Activity 访问它。

您的另一个选择是正确的选择...使用单个活动并更新其内容以匹配您当前关注的内容。 这将在您的应用程序以及系统资源上产生更少的开销。

我认为第二种解决方案听起来更像是“正确的方法”,而不是实现不同的活动,它是创建多个视图(如“小部件”)的更好解决方案,这些视图代表您需要的当前表单。

无论如何,如果你想在 Activity 之间进行通信,我认为最好的方式是,通过 Handler-Objects 来做到这一点。 这些处理程序可以处理您可以定义的消息,并在其中放入大量数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM