我几乎没有为上一个 Activity 设置参数的 Activity 例如假设我有 4 个 Activity A->B->C->D。 在 A、B、C Activity 中,用户选择了最终需要提供给 D 的几个参数。 现在有两种方法可以实现这一目标
- 使用intent.putExtra通过 Activity 传递参数值A 将其参数传递给 B,然后 B 将其传递给 C,依此类推。
- 将它们存储在某个静态类中,Activity D 可以从那里访问它。
只是想知道,这些方法中哪种最好,为什么?
最佳答案
这实际上取决于您的需求和信息量。如果信息很少(可能是 2 或 3 条数据),我会说使用 putExtra()
就可以了,也许建议将它们放在 Bundle
中,这样你就不会'不必担心每个Activity
中的每一个额外内容。
如果您处理的事情远不止这些,那么我建议将它们添加到一个单独的类中。 IMO,如果您决定以其他方式使用数据,这种方式会更容易维护,语法错误(例如拼写错误“key”参数)的机会更少,并且更灵活。
在我当前的应用程序中,它一开始只使用了一些extras
,然后逐渐增多。由于数据最终被传递并在许多不同的类中使用,它变得难以管理。我刚刚使用静态 HashMap、ArrayList 和 ContenValues 以及其他对象创建了几个单独的类。然后,我必须将所有 extras
数据迁移到这些类。
关于java - Android Activity 之间的信息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664690/