[Android] 主線程外取用context的注意事項

就....很想放這張圖...


我不知道這關鍵字要怎麼取才好,就是當你使用Thread、Handler之類另開線程去跑一些程式時,如果你要跑的程式碼裡面會呼叫到一些方法,這些方法的參數裡面有要提供this的,要注意this的寫法。

比方說你在某個Activity裡面開新線程跑一些方法,某個方法的參數裡面有this,那你不能單純寫this,你會看到編譯器說這方法有錯誤。比方說你的Activity類別名稱是MyActivity,那你要寫:

MyActivity.this

這樣就可以執行了....我想這是在新線程中執行此類方法時,由於this是參考到呼叫此方法的Activity,而在新線程中呼叫時,變成是呼叫外部的類別,雖然程式碼寫在同一個Activity的java檔案內,但還是算在外部,可以參考這一篇問答

留言