我有一个扩展服务的类,该服务基本上从云中获取数据并在列表视图中列出 ot。当我尝试使用“findviewById”方法获取列表视图时出现错误,因为该类不扩展 Activity。有谁知道我应该怎么做。
问问题
2570 次
2 回答
1
您的服务无法直接修改 UI。事实上,可能根本没有 UI,因为用户可能在网络 I/O 进行时按下了 BACK 并销毁了活动。
相反,您需要从服务向活动发送消息,让活动知道(如果存在)有新数据。为此,您可以使用:
LocalBroadcastManager
来自 Android 支持包,或- 第三方消息总线实现,如 Square 的Otto,或
- 一个
Messenger
绑定到一个Handler
- 等等
于 2013-09-17T18:08:25.253 回答
0
嗨,我认为最好使用 AsncTask,因为您必须在 doinBackground 方法中编写后端下载数据部分,并将数据设置为 onPostexcute 中的列表视图。
最好看看异步任务
http://developer.android.com/reference/android/os/AsyncTask.html
意思是在尝试绑定服务并进行从服务到活动的通信时,请查看如何绑定服务。
用于绑定服务
http://developer.android.com/guide/components/bound-services.html
于 2013-09-17T18:34:53.087 回答