看板 AndroidDev 關於我們 聯絡資訊
※ 引述《issuemylove (skill)》之銘言: : 各位大大好 : 我想請問的是 : 現在有兩個 Activity A 和 B 還有一個 class C ( C是 static 物件) : C 裡面會用到 context : 剛開始程式啟動時 A 首創了 C : 並傳入 A 讓 C 可以利用 context 來做一些事 : (例如呼叫 context.getResources(),也就是 A.getResources(); ) : 現在 A 利用 startActivity 將畫面跳到 B : B 現在使用了 C 會產生問題嗎? : 主要是在意 C 裡面的 context 還是 A : 這方面搞不太懂 QQ 謝謝! 原則上是沒問題.. 因為Activity是繼承於ContextWrapper 他會把這些getResources的bypass給base context.. 但是以你的應用 我猜C是singleton? 我會建議C會這樣寫 private C(Context context){ this.mContext = context.getApplicationContext(); } 這樣對mContext不會是Activity 而會是application object.. 或是你直接定義一個Application subclass 並且讓他也定義Singleton object 然後context直接使用這個singleton appllication object -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.251.162 ※ 編輯: popcorny 來自: 220.135.251.162 (02/18 17:34)
issuemylove:是singlton沒錯 02/18 23:22
issuemylove:那我有想過 如果A掉到B之後 A自己 finish(); 掉呢? 02/18 23:23
issuemylove:那是不是這樣就不行了? 02/18 23:23
issuemylove:謝謝QQ 02/18 23:23
popcorny:抱歉 我看不懂你的問題 02/19 09:19
MetalChao:如果用popcorny大的解法, 是用 application context 02/19 10:35
MetalChao:A還存不存在已經不重要了 02/19 10:35
issuemylove:抱歉 我問的不夠好 像是MetalChao大獎的那樣 謝謝! 02/19 11:48
issuemylove: 講 02/19 11:50