作者FY4 ()
看板AndroidDev
標題[問題] 關於Toast
時間Sat Apr 30 13:01:47 2011
開發層: (應用/框架/庫/核心)
應用
我用了一個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)
1F:推 abccbaandy:去看一下makeText的第一個參數要填什麼 04/30 13:10
2F:→ FY4:context? 04/30 13:15
3F:推 tomap41017:對,找出適當的context用 04/30 13:52
4F:推 coronach:簡單來說 你的View一定是掛在某個Activity下面 04/30 14:23
5F:→ coronach:Activity是Context的一種 所以看你的Activity叫什麼 04/30 14:23
6F:→ coronach:就填個...例如myAct.this這樣 04/30 14:24
7F:→ FY4:我用useMap extends MapActivity 來實作MapView 04/30 14:55
8F:→ FY4:問題就是我在Toast.makeText(useMap.this,........) 04/30 14:55
9F:→ FY4:已經打了名字了 卻還是不行阿= = 04/30 14:56
10F:→ FY4:no enclosing instance of the type useMap is accessible in 04/30 14:58
11F:→ FY4:scope 在useMap的下線還是顯示紅線 04/30 14:58
12F:推 tomap41017:問題就是你在Overlay內下找不到useMap = = 04/30 15:03
13F:推 donnolove:class b的程式剛開始有宣告一個Context對吧? 04/30 18:11
14F:→ donnolove:直接把Context的那個變數名稱放到makeText的第一個參數 04/30 18:12
15F:→ donnolove:試看看 Toast.makeText(context,....) 04/30 18:13
16F:推 cjoe:速速看getContext()呢? 05/01 21:46
17F:→ jacktoad:getBaseContext() 05/01 22:33
18F:推 Jms1982:getApplicationContext(); 05/01 23:19
19F:→ FY4:大家人太好了 忘記說我已經解決問題了 謝謝各位的寶貴意見 05/03 17:53
20F:推 cobrasgo:建議一下,你要不要把解法簡單說一下?可以造福後人 05/03 21:35