看板 AndroidDev 關於我們 聯絡資訊
開發層: (應用/框架/庫/核心) 應用 我用了一個class useMap來實作MapView 另一個class b實作ItemizedOverlay 圖標層 在覆寫ItemizedOverlay 裡面的onTAP function 當點到時 利用Toast來顯示一段敘述 但是問題來了 當我在onTap裡面寫 Toast.makeText(useMap.this,........) 他卻顯示no enclosing instance of the type useMap is accessible in scope 想請問是發生了什麼問題... 我全部都是照著書上程式碼打的 "Android 2 手機應用程式設計入門 第三版" 第43章 上網查相關資訊好像沒人遇到我這問題 如果改成Toast.makeText(null,........)可以執行 在模擬器上也可以跑 圖標也有顯示 但是按圖標的話 整個程式就強制關閉了 我希望要有Toast阿!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.176.159 ※ 編輯: FY4 來自: 118.171.176.159 (04/30 13:02) ※ 編輯: FY4 來自: 118.171.176.159 (04/30 13:03)
abccbaandy:去看一下makeText的第一個參數要填什麼 04/30 13:10
FY4:context? 04/30 13:15
tomap41017:對,找出適當的context用 04/30 13:52
coronach:簡單來說 你的View一定是掛在某個Activity下面 04/30 14:23
coronach:Activity是Context的一種 所以看你的Activity叫什麼 04/30 14:23
coronach:就填個...例如myAct.this這樣 04/30 14:24
FY4:我用useMap extends MapActivity 來實作MapView 04/30 14:55
FY4:問題就是我在Toast.makeText(useMap.this,........) 04/30 14:55
FY4:已經打了名字了 卻還是不行阿= = 04/30 14:56
FY4:no enclosing instance of the type useMap is accessible in 04/30 14:58
FY4:scope 在useMap的下線還是顯示紅線 04/30 14:58
tomap41017:問題就是你在Overlay內下找不到useMap = = 04/30 15:03
donnolove:class b的程式剛開始有宣告一個Context對吧? 04/30 18:11
donnolove:直接把Context的那個變數名稱放到makeText的第一個參數 04/30 18:12
donnolove:試看看 Toast.makeText(context,....) 04/30 18:13
cjoe:速速看getContext()呢? 05/01 21:46
jacktoad:getBaseContext() 05/01 22:33
Jms1982:getApplicationContext(); 05/01 23:19
FY4:大家人太好了 忘記說我已經解決問題了 謝謝各位的寶貴意見 05/03 17:53
cobrasgo:建議一下,你要不要把解法簡單說一下?可以造福後人 05/03 21:35