【发布时间】:2017-05-27 06:37:39
【问题描述】:
我想通过一个包发送一个 AsyncTask 来启动另一个片段。
因此,我创建了另一个实现可序列化并存储我的 AsyncTask 的类。我想把这个类放到一个包中,并用它开始另一个片段。
public class SerializableTask implements Serializable {
private AsyncTask task;
public SerializableTask(AsyncTask task) {
this.task = task;
}
public AsyncTask getTask() { return this.task; }
}
这行得通还是我需要覆盖 writeObject 或 readobject 方法?
【问题讨论】:
-
发送 asyncTask 是什么意思?是否要将任务发送到另一个 Fragment 执行?
-
是的。例如,片段 A 创建任务并使用我的类对其进行序列化,并使用包含我的类和任务的包启动片段 B。然后B运行任务
-
为什么不创建任务并在片段 B 中运行呢?如果您可以传达片段,我认为这是更好的解决方案。只需在启动时将所需的数据发送到 Fragment B。
-
此外,由于第一个的速度,在 Android 中最好使用 Parcelable 而不是 Serializable。
-
但应该是通用片段。我认为几乎不可能将通用对象发送到片段。除此之外,如果我设法将属性发送到片段 B,因为它应该是通用的,所以 Java 中没有办法告诉异步任务的后执行方法应该做什么,对吧?
标签: android android-fragments android-asynctask