看板 AndroidDev 關於我們 聯絡資訊
如何在其他的class中使用finish()指令將原本的activity給關掉呢? 我將傳進來的Context 執行 finish()時都會出現下列錯誤: android.app.application cannot be cast to android.app.activity 我是使用AsyncTask,當我事情處理完後,要進入下個activity 將原本的activity關掉,有什麼方法可以達成這項任務呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.184.211.155 ※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1413516893.A.3B8.html
nOhiTmE: 因為你收到的根本不是activity,是application啊 10/17 11:39
Deltaguita: 你要確保你丟進去的是activity 10/17 11:43
dwadefans: 我達到這個效果了http://goo.gl/eJX7kW 10/17 11:43
dwadefans: 我有把Context傳進來 在建構元的部份應該取得Activity 10/17 11:45
dwadefans: act = (Activity)cxt; -->可是這方法好像行不通... 10/17 11:46
dwadefans: 我後來是直接把整個Activity傳進來 像以上網址的方法.. 10/17 11:46
dwadefans: finish時是使用 MyActivity.finish() 10/17 11:48
dwadefans: 為何不能用這樣呢? ((Activity) cxt).finish(); 10/17 11:48
Deltaguita: 你貼自己的code吧 這樣講比較快 10/17 15:21
dwadefans: 哈 不好意思 晚點吧 code 貼上來 10/17 18:07
issuemylove: 你是不是用到getApplicationContext()? 10/17 18:18
issuemylove: 來當參數傳入 10/17 18:18
ssccg: 你傳的時候要傳this,不是getApplicationContext() 10/17 21:00
ssccg: 一樣都是Context,Activity跟Application不一樣 10/17 21:00
Armuro: 推樓上 10/20 07:55