gpt4 book ai didi

java - 如何在多屏工作流中使用 Activity 或 Fragment?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:37 26 4
gpt4 key购买 nike

我有一个包含多个屏幕的工作流程,其中包含不同的问题和答案选项。所以屏幕 1 上有一个问题,用户做出选择 -> 用户点击继续按钮 -> 屏幕 2 打开另一个问题 -> 用户做出选择并继续 -> 屏幕 3 打开等...

但实际上,考虑到良好的可维护性和清晰性,我不确定哪种方式是实现此行为的最佳方式。我认为它们至少是三个选项:

  1. 每个屏幕都有自己的 Activity 和布局文件,我通过 Intent 传递选择的数据。

  2. 1 Activity和fragment不同,每个fragment都有自己的布局。如果按下继续按钮,该 fragment 将被下一个 fragment 替换。

  3. 1 Activity 和不同的布局文件。只是布局被替换,其他一切都在 Activity 中处理。

实际上,我已经开始使用选项 2.) 来实现,但我不知道这是否“太多了”。

Android API 指南 指出您应该为多面板 UI可重用性 使用Fragments。但实际上我不想在这种情况下构建多 Pane UI,并且不会重复使用 fragment 。所以也许 3.) 是要走的路?甚至 1.)

最佳答案

我会选择你的选项#3。原因是:

  • 与 fragment 或布局相比,Activity 占用一些内存。 activity 和 fragments 之间的接口(interface)有点尴尬,虽然我已经习惯了。我不推荐它用于你的情况。
  • 我喜欢 fragment 。然而,如果所有 fragment 在外观/感觉上都相似,那么为什么要花时间让计算机隐藏/显示或替换它们。 fragment 的原因在谷歌网页中说明,如 Building a Flexible UI .我认为您不需要像 Google 的 Intent 中所说的灵活的 UI。
  • 我会建议一项 Activity ,至少一个 fragment 用于所有问题/答案。您只需使用一种布局来更改文本/内容。如果 UI 不同,则将布局替换为另一个。无论如何,Android 应用程序有这么多不同的布局是很正常的。Android 需要一些内存来加载布局,但它非常快速和高效。

对于选项 3 设计:您可以使用 inflate() 方法加载特定布局并替换一个。 SO 链接中的一个很好的例子@ Android layout replacing a view with another view on run time

关于java - 如何在多屏工作流中使用 Activity 或 Fragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34150710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com