findViewById在服务中

时间:2012-12-02 23:06:06

标签: android service findviewbyid

我有一个服务,可以通过2个活动调用“启动服务”,我想在服务启动时更改图像视图,但是当我尝试“findViewById”时 我收到了这个错误。

The method findViewById(int) is undefined for the type Main

我该怎么办?

3 个答案:

答案 0 :(得分:5)

您应该从活动中更改ImageView,而不是服务。

答案 1 :(得分:0)

您可以将上下文传递给服务并执行以下操作:

mContext.findViewById(int)

但是如果通过意图,静态方法或aidl(我建议意图或静态)调用活动的函数会更合乎逻辑,让我们说“changeImage()”并让活动完成所有的视图处理工作< / p>

答案 2 :(得分:0)

您应该区分findviewByid(int)Layout.inflate(int),所以我的建议是:

  • 使用Layout.inflate(int)

  • 获取活动中的父视图
  • 使用父视图来调用findViewById(int)

尝试一下,快乐的代码:)