我有一个可以通过 2 个活动调用“启动服务”的服务,我想在服务启动时更改图像视图,但是当我尝试“findViewById”时出现此错误。
The method findViewById(int) is undefined for the type Main
我该怎么办 ?
我有一个可以通过 2 个活动调用“启动服务”的服务,我想在服务启动时更改图像视图,但是当我尝试“findViewById”时出现此错误。
The method findViewById(int) is undefined for the type Main
我该怎么办 ?
您应该更改ImageView
活动,而不是服务。
你应该区分findviewByid(int)
和Layout.inflate(int)
,所以我的建议是:
获取Activity中的父视图Layout.inflate(int)
使用父视图调用findViewById(int)
试一试,快乐的代码:)
您可以通过将上下文传递给服务并执行以下操作来做到这一点:
mContext.findViewById(int)
但是如果你通过意图、静态方法或aidl(我建议意图或静态)调用活动的函数会更合乎逻辑,比如说“changeImage()”并让活动完成所有视图处理工作