看板 AndroidDev 關於我們 聯絡資訊
各位大大好 最近剛學習android 有遇到以下的問題,麻煩請高手幫忙解救一下 1.最近有點不懂context到底是甚麼,有google了一下似乎是屬於Activity的父類別 例如 Toast的寫法可以寫成 toast = Toast.makeText(getApplicationContext(), "文字", Toast.LENGTH_LONG); 卻又可以寫成 Toast function = Toast.makeText(MainActivity.this,"文字",Toast.LENGTH_SHORT); 想知道MainActivity.this和getApplicationContext()的差別 2.也是類似的問題 下段程式執行會出現錯誤 AlertDialog.Builder aa = new AlertDialog.Builder(getApplicationContext()) 而下段程式卻會成功 AlertDialog.Builder aa = new AlertDialog.Builder(MainActivity.this); 想知道為什麼 附上log android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application 煩請高手幫忙解惑 感恩不盡 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.163.55 ※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1405495888.A.022.html
erttyy8821:拿到Contex的對象不同 07/16 15:52
ms0561188:請問甚麼是對象不同,我不懂哪時候該用哪個.. 07/16 16:09
erttyy8821:activityContext & applicationContext 07/16 16:47
ms0561188:所以要看我的程式是屬於哪個父類別嗎? 07/16 17:58
Deltaguita: 應該說acitvity的context 才有權限跳dailog 07/16 20:09
Deltaguita:如果applicationContext可以跳dialog是蠻可怕的 使 07/16 20:30
Deltaguita:用者體驗會很差 07/16 20:30
KeySabre:有興趣可以爬window manager的機制 懶得抓整包的話 可 07/17 03:01
KeySabre:以用grepcode網站 07/17 03:01
ms0561188:\感謝!! 07/21 09:18