我有一個服務,可以通過2個活動調用「啓動服務」,並且我想在服務啓動時更改圖像視圖,但是當我試圖「findViewById」時出現此錯誤。findViewById在服務
The method findViewById(int) is undefined for the type Main
我該怎麼辦?
我有一個服務,可以通過2個活動調用「啓動服務」,並且我想在服務啓動時更改圖像視圖,但是當我試圖「findViewById」時出現此錯誤。findViewById在服務
The method findViewById(int) is undefined for the type Main
我該怎麼辦?
您應該從活動中更改ImageView
,而不是服務。
你可以通過上下文的服務,做做到這一點:
mContext.findViewById(int)
但是,如果你打電話通過意圖,靜態方法或AIDL活動的功能,這將是更符合邏輯的(我建議意圖或靜態),讓我們說「changeImage()」,讓活動辦的所有視圖處理工作
你應該區分findviewByid(int)
和Layout.inflate(int)
,所以我的建議是:
獲得活動父視圖與Layout.inflate(int)
使用父視圖調用findViewById(int)
試試,幸福代碼:)
如何在Activity中選擇父視圖?你可以說得更詳細點嗎? –
,因爲我已經2個活動,我寧願改變「 imageView'從服務。有沒有解決方法? –
@Reza_Rg:您無法從「服務」更新您的用戶界面。請從您的活動中更新您的用戶界面。 – CommonsWare