當我使用列表視圖並且我有一個自定義Base Adapter類時,在基本適配器由getApplicationContext
和classname.this
實例化時,我在列表視圖中獲得不同的文本顏色。 通過getApplicationContext
我得到白色文字顏色,但classname.this
是黑色的。任何人都可以爲我解釋嗎?getApplicationContext和classname.this之間的區別
回答
它們基本上是背景信息的兩個實例,但不同的是應用程序實例是依賴於應用程序的生命週期,而活動實例被綁定到一個活動的生命週期。因此,他們有機會獲得對應用環境的不同信息...
編輯
在找到你的答案將會有助於你Android Holo Light styling changes depending on chosen context
非常感謝你,我在你的帖子中找到了我的回答 – 2013-04-22 07:51:05
welcum :)親愛的...很高興我可以幫助你 – Shiv 2013-04-22 08:18:27
ActivityName.this指的是活動上下文。 getApplicationContext()引用應用程序上下文。
大多數情況下最好使用活動上下文。
查看commonsware提供的答案。對該主題有詳細的解釋。
When to call activity context OR application context?
報價表上面的鏈接
這裏有原因爲什麼不使用getApplicationContext()無論你走到哪裏:
這不是一個完整的上下文,配套一應俱全該活動可以。您將嘗試使用此上下文執行的各種操作都將失敗,主要與GUI有關。
如果來自getApplicationContext()的Context持有由您調用創建的東西,而您沒有清除,則它可以創建內存泄漏。通過一個活動,如果它持有某種東西,一旦活動被垃圾收集,其他的東西也會被刷新。應用程序對象在整個過程中保持不變。
非常感謝您,但實際上我無法理解爲什麼文本顏色在上下文 – 2013-04-22 07:37:09
閱讀答案中的第1點。也許是原因。向我們展示一些代碼。 – Raghunandan 2013-04-22 07:37:43
是的,你說得對,也許我應該仔細閱讀上下文參考 – 2013-04-22 07:40:45
- 1. getApplication(),getApplicationContext()之間的區別...等等
- 2. 之間的〜/和的區別../
- 3. '#','%'和'$'之間的區別
- 4. {!!之間的區別!!}和{{}}
- 5. '+ ='和'= +'之間的區別?
- 6. 「。+」和「。+?」之間的區別
- 7. .eq之間的區別。和==
- 8. #。/和#之間的區別。 ./
- 9. !=和!之間的區別==
- 10. 「%〜dp0」和「。\」之間的區別?
- 11. | =和^ = css之間的區別
- 12. 之間的區別。和#
- 13. ==和case之間的區別?
- 14. 「**/* /」和「** /」之間的區別?
- 15. jQuery - '。'之間的區別和「#」
- 16. 「?1」和「?」之間的區別
- 17. `%in%`和`==`之間的區別
- 18. fmod和%之間的區別
- 19. 之間的區別:+和:+
- 20. 類區域和堆之間的區別
- 21. SPFile和PublishingPage類別之間的區別
- 22. 子類和類別之間的區別?
- 23. System.Timers.Timer Enabled = true和.Start()之間的區別Enabled = true和.Start()之間的區別
- 24. isForeground()和onExposed和onObscured之間的區別
- 25. $ .ajax()和$ .get()和$ .load()之間的區別
- 26. 和intent和setcontentview之間的區別
- 27. Java和C#和.NET之間的區別
- 28. NSthread和NStimer和NSNotifcation之間的區別?
- 29. sys.log()和console.log()和console.error()之間的區別?
- 30. 關注與責任之間的區別(即SRP和SoC之間的區別)?
見[這裏](HTTP ://stackoverflow.com/questions/5018545/getapplication-vs-getapplicationcontext) – Gunaseelan 2013-04-22 07:19:49
可能你已經應用了不同的主題到你的具體活動,然後整個應用程序。這可能會導致基於使用哪種上下文的樣式中的差異。 – Shiv 2013-04-22 07:35:31
我實際上在我的所有活動中都使用android:theme =「@ style/Theme.VPI」 – 2013-04-22 07:44:40