[問題] 關於Toast

看板AndroidDev作者時間13年前 (2011/04/30 13:01), 編輯推噓8(8012)
留言20則, 9人參與, 最新討論串1/1
開發層: (應用/框架/庫/核心) 應用 我用了一個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)

04/30 13:10, , 1F
去看一下makeText的第一個參數要填什麼
04/30 13:10, 1F

04/30 13:15, , 2F
context?
04/30 13:15, 2F

04/30 13:52, , 3F
對,找出適當的context用
04/30 13:52, 3F

04/30 14:23, , 4F
簡單來說 你的View一定是掛在某個Activity下面
04/30 14:23, 4F

04/30 14:23, , 5F
Activity是Context的一種 所以看你的Activity叫什麼
04/30 14:23, 5F

04/30 14:24, , 6F
就填個...例如myAct.this這樣
04/30 14:24, 6F

04/30 14:55, , 7F
我用useMap extends MapActivity 來實作MapView
04/30 14:55, 7F

04/30 14:55, , 8F
問題就是我在Toast.makeText(useMap.this,........)
04/30 14:55, 8F

04/30 14:56, , 9F
已經打了名字了 卻還是不行阿= =
04/30 14:56, 9F

04/30 14:58, , 10F
no enclosing instance of the type useMap is accessible in
04/30 14:58, 10F

04/30 14:58, , 11F
scope 在useMap的下線還是顯示紅線
04/30 14:58, 11F

04/30 15:03, , 12F
問題就是你在Overlay內下找不到useMap = =
04/30 15:03, 12F

04/30 18:11, , 13F
class b的程式剛開始有宣告一個Context對吧?
04/30 18:11, 13F

04/30 18:12, , 14F
直接把Context的那個變數名稱放到makeText的第一個參數
04/30 18:12, 14F

04/30 18:13, , 15F
試看看 Toast.makeText(context,....)
04/30 18:13, 15F

05/01 21:46, , 16F
速速看getContext()呢?
05/01 21:46, 16F

05/01 22:33, , 17F
getBaseContext()
05/01 22:33, 17F

05/01 23:19, , 18F
getApplicationContext();
05/01 23:19, 18F

05/03 17:53, , 19F
大家人太好了 忘記說我已經解決問題了 謝謝各位的寶貴意見
05/03 17:53, 19F

05/03 21:35, , 20F
建議一下,你要不要把解法簡單說一下?可以造福後人
05/03 21:35, 20F
文章代碼(AID): #1DkvU_6y (AndroidDev)
文章代碼(AID): #1DkvU_6y (AndroidDev)