1

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

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

我该怎么办 ?

4

3 回答 3

5

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

于 2012-12-02T23:06:57.333 回答
0

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

  • 获取Activity中的父视图Layout.inflate(int)

  • 使用父视图调用findViewById(int)

试一试,快乐的代码:)

于 2012-12-03T05:23:22.757 回答
-1

您可以通过将上下文传递给服务并执行以下操作来做到这一点:

mContext.findViewById(int)

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

于 2012-12-02T23:11:34.650 回答