android 开了线程从网络端获取数据后,如何将数据返回给调用线程的类?

1.线程类如下,我想获取的是orders,orders类型为List<Order>:
图片描述

2.在调用线程类的类中,我声明了一个新的成员变量mOrders,用于获取线程中的那个orders,如下:图片描述

initData()方法如下,方法中的id显红但没有问题,只是在截图的时候代替一下,实际没有问题:
图片描述

现在程序崩溃,mOrders空指针错误,请问我应该怎么合理实现我的功能,就是获取线程类里面的orders并将它返回给mOrders?PS:在线程类中获取orders是没有问题的 问题是怎么传递orders

阅读 5.8k
1 个回答

这个处理是不妥的,你调用getmList()方法的时候,线程获取网络数据的流程还没走完,所以才会出现空指针。你可以考虑使用AsyncTask,在doInBackground()执行doGet()并返回mOrders,在onPostExecute()中将mOrders返回。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进