我正在 Android Studio(使用 Java)中构建我的第一个 Android 应用程序,我需要一些帮助来了解如何通过多个活动传递数据。
受影响的课程/活动的设置是这样的:
- MainActivity:打开一个名为 AddDialog 的对话框(通过创建它的新实例)。
- AddDialog(扩展 AppCompatDialogFragment):具有一些按钮的对话框。其中一个启动了一个名为 BarcodeScanActivity 的类(使用意图)。
- BarcodeScanActivity:扫描二维码的简单活动。
我想将 BarcodeScanActivity 扫描的 QR 码列表(我将它们存储在字符串数组中)传递给 MainActivity 以使用它们,尽管 BarcodeScanActivity 是从一旦单击按钮就会被破坏的对话框启动的。因此,我无法在对话框上设置一些 startActivityForResult 并将结果(onActivityResult)链接回 MainActivity。
此外,由于 MainActivity 通过创建实例来启动 AddDialog,因此我也无法在那里设置 startActivityForResult。
我尝试在从 AddDialog 启动 BarcodeScanActivity 时添加 Intent.FLAG_ACTIVITY_FORWARD_RESULT,希望 BarcodeScanActivity 的结果将被转发回 MainActivity,因为 AddDialog 被破坏,我创建了一个 onActivityResult 方法,但我不知道这是否应该工作因为 AddDialog 是由它的新实例“启动”的,而不是通过使用意图。
我曾考虑过使用广播作为最后的手段,尽管我读到它们不安全、不可靠并且不应该用于传递那种数据。
非常感谢任何帮助!谢谢