4

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

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

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

或者

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

4

3 回答 3

1

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

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

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

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

于 2011-06-09T13:51:00.633 回答
0

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

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

于 2011-06-09T13:53:36.910 回答
0

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

于 2011-06-09T13:42:19.867 回答