我有两个活动“EventsList”,它扩展了ListView
和一个“CreateEvent”活动。用户可以从列表中选择“事件”并在CreateEvent活动中编辑它们。当用户点击保存CreateEvent时,会产生一个AsycTask将数据传递给Web服务,获取响应并将响应解析到数据库中。从AsyncTask更新一个列表视图产生在另一个活动
我的问题是我不知道如何将结果从AsycTasks onPostExecute()
传达给EventsList活动。我试着刷新StartActivityForResult
的列表,但是这个线程通常还没有完成。
那么,如何将AsyncTask(由CreateEvent产生)的结果传递给EventsList活动?我没有尝试使用自定义回调。
编辑
我真的不热衷于使用全局标志或adapter
。我确信这最好是用某种方式使用回调/监听器完成的。这样,只有在绝对必要时才会更改或通知列表。
StartActivityForResult()似乎是更好的方法。可能的解决方法是在您的CreateEventActivity中,在启动AsyncTask后不要立即返回EventsListActivity,而是显示用户ProgressDialog,等待AsyncTask完成,在CreateEventActivity中设置setResult(),然后返回EventsListActivity,不确定这是否工作正常值得去尝试。 – yorkw