作者popcorny (畢業了..@@")
看板AndroidDev
標題Re: [問題] 不同context存在時 使用上會有問題嗎?
時間Mon Feb 18 17:33:46 2013
※ 引述《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