0

我有一个扩展服务的类,该服务基本上从云中获取数据并在列表视图中列出 ot。当我尝试使用“findviewById”方法获取列表视图时出现错误,因为该类不扩展 Activity。有谁知道我应该怎么做。

4

2 回答 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 回答