我正在使用从 Activity A 到 Activity B 的 Intent 传递一个 Serializable 对象,但是当我在将对象放入 A 中的意图之前以及在 B 中检索它之后打印 object.toString() 方法时,我发现它们实际上是不同的实例。
这就是问题所在。我在不同的类和不同的线程中初始化了该对象的字段,当我将对象放入 Activity A 中的意图时,这些字段还没有准备好,但是当我检索它们时它们已经准备好了。但是,当我尝试在活动 B 中检索这些字段时,我发现它们是空的,因为检索到的对象是一个新实例。
我该如何解决这个问题?我不知道如何让主线程等到对象初始化任务结束(已经尝试过thread.join())。我基本上只需要将两个 ArrayList 从一个活动发送到另一个活动,除非我发送它们(即,将它们放入意图中)它们是空的,但是当它们被检索时它们已经被填充。