[問題] 請問如何在另一個class中使用alertdialog

看板AndroidDev作者 (.。oO)時間12年前 (2013/05/31 03:31), 編輯推噓0(009)
留言9則, 4人參與, 最新討論串1/3 (看更多)
有兩個class, C1和C2 C1為目前的執行畫面, C2為單純的class, 非activity 其中C1宣告一個C2 C2 c2 = new C2(); 並使用C2裡的函式 c2.f(); 到目前為止一切正常, 我在C1的畫面執行了C2的f() 接下來我想在f()裡多加一個AlertDialog的程式, 所以我寫了 AlertDialog.Builder dlg = new AlertDialog.Builder(xxx); 我的問題出在於xxx不知道要填什麼 填C2.this會當掉 C1.this程式錯誤 getBaseContext()或是getApplicationContext()也都不行 請問有人知道如何解決嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.72.155

05/31 11:47, , 1F
在C1用getApplicationContext()塞給f() XXX填你塞進來的
05/31 11:47, 1F

05/31 11:48, , 2F
f(Context ctx) XXX就填ctx 試試看
05/31 11:48, 2F

05/31 11:50, , 3F
f(Context ctx); c2.f(this) ; Builder(ctx)
05/31 11:50, 3F

05/31 11:59, , 4F
可以了, 感謝兩位! 不過還有一個地方要注意就是C2不能繼承
05/31 11:59, 4F

05/31 11:59, , 5F
C1, 不然也會當掉
05/31 11:59, 5F

05/31 12:02, , 6F
我錯了, 好像還是不行, 建構的過程成功, 但執行還是當掉了
05/31 12:02, 6F

05/31 12:04, , 7F
錯誤訊息是?
05/31 12:04, 7F

05/31 19:56, , 8F
把c1的activity塞給c2 在c2用activity.getbacecontext塞進你
05/31 19:56, 8F

05/31 19:56, , 9F
的activity
05/31 19:56, 9F
文章代碼(AID): #1Hg1cfi0 (AndroidDev)
文章代碼(AID): #1Hg1cfi0 (AndroidDev)