[問題] 在另外的class中finish()掉原本的context

看板AndroidDev作者 (wade)時間11年前 (2014/10/17 11:34), 編輯推噓0(0015)
留言15則, 6人參與, 最新討論串1/1
如何在其他的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

10/17 11:39, , 1F
因為你收到的根本不是activity,是application啊
10/17 11:39, 1F

10/17 11:43, , 2F
你要確保你丟進去的是activity
10/17 11:43, 2F

10/17 11:43, , 3F
我達到這個效果了http://goo.gl/eJX7kW
10/17 11:43, 3F

10/17 11:45, , 4F
我有把Context傳進來 在建構元的部份應該取得Activity
10/17 11:45, 4F

10/17 11:46, , 5F
act = (Activity)cxt; -->可是這方法好像行不通...
10/17 11:46, 5F

10/17 11:46, , 6F
我後來是直接把整個Activity傳進來 像以上網址的方法..
10/17 11:46, 6F

10/17 11:48, , 7F
finish時是使用 MyActivity.finish()
10/17 11:48, 7F

10/17 11:48, , 8F
為何不能用這樣呢? ((Activity) cxt).finish();
10/17 11:48, 8F

10/17 15:21, , 9F
你貼自己的code吧 這樣講比較快
10/17 15:21, 9F

10/17 18:07, , 10F
哈 不好意思 晚點吧 code 貼上來
10/17 18:07, 10F

10/17 18:18, , 11F
你是不是用到getApplicationContext()?
10/17 18:18, 11F

10/17 18:18, , 12F
來當參數傳入
10/17 18:18, 12F

10/17 21:00, , 13F
你傳的時候要傳this,不是getApplicationContext()
10/17 21:00, 13F

10/17 21:00, , 14F
一樣都是Context,Activity跟Application不一樣
10/17 21:00, 14F

10/20 07:55, , 15F
推樓上
10/20 07:55, 15F
文章代碼(AID): #1KG8vTEu (AndroidDev)