[問題] 關於this

看板AndroidDev作者 (gingin)時間13年前 (2011/08/04 11:00), 編輯推噓3(304)
留言7則, 3人參與, 最新討論串1/2 (看更多)
請問一下 為什麼android有些code已經在某個class裡面了, 卻不能用this來指稱那個class呢? 像是A activity要跳轉到B activity 我們會在A class之中,寫intent.setClass(A.this, B.class) 我不太懂在此時寫A.this跟寫this的差別在哪? (但寫this會編譯錯誤) 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.210.109

08/04 11:17, , 1F
setClass第一參數吃context, A.this就會指向A.context
08/04 11:17, 1F

08/04 11:19, , 2F
如果你在private class內用this, 就不會指向context了
08/04 11:19, 2F

08/04 11:19, , 3F
所以才要用A.this去指A的context
08/04 11:19, 3F
了解,所以androird當中 某個activity或service或broadcastReceiver的name.this 就是去拿它的context 這樣說對嗎? 謝謝 ※ 編輯: GinginDenSha 來自: 140.130.210.109 (08/04 11:30)

08/04 12:40, , 4F
我以為this是指本身的class
08/04 12:40, 4F

08/05 14:19, , 5F
A.this是在A的inner class下可用來獲得A的方法
08/05 14:19, 5F

08/05 14:19, , 6F
因為在Inner class的scope裡,this是指向inner class自
08/05 14:19, 6F

08/05 14:20, , 7F
己,所以要用A.this取得它外面包圍的class instance
08/05 14:20, 7F
文章代碼(AID): #1EEWjViF (AndroidDev)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
文章代碼(AID): #1EEWjViF (AndroidDev)