[問題] pass Activity as parameter with Intent

看板AndroidDev作者 (萬萬)時間12年前 (2013/10/01 20:50), 編輯推噓2(208)
留言10則, 5人參與, 最新討論串1/1
請問要如何把Activity Instant當做parameter放進Intent傳送 Intent it = new Intent(MainActivity.this, NewActivity.class); Bundle bundle = new Bundle(); it.putExtras(bundle); startActivityForResult(it, 100); 我希望在NewActivity裡 能夠獲得MainActivity 並且可以調用MainActivity的方法 請問有辦法做到嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.161.13.82

10/01 22:42, , 1F
Don't do this... 先從基本開始學吧
10/01 22:42, 1F

10/01 22:58, , 2F
傳activity相依性會太高 不知道fragment是不是你要的東西
10/01 22:58, 2F

10/02 08:51, , 3F
把 method 獨立出來不行嗎?
10/02 08:51, 3F
因為我是學iOS出身的 所以在一個UIViewController 呼叫另一個UIViewController的method 是一件很平常且容易的事 目前的問題點是 在Android底下 一個新的Activiy可不可以呼叫原來的Activity的方法 應該是可以 但我找不到可以把舊的Activity的this 傳送到新的Activity的方式 用Intent傳不過去 ※ 編輯: ooonnneee 來自: 218.161.13.82 (10/03 12:15)

10/03 16:37, , 4F
fragment可以,或者廣播,或者另外提出來CLASS
10/03 16:37, 4F

10/03 22:08, , 5F
當你開啟新的Activity時 舊的Activity的生命就已經無法保證
10/03 22:08, 5F

10/03 22:10, , 6F
所以把要用的函式提取出來 才是正解
10/03 22:10, 6F

10/03 22:16, , 7F
而且UIViewController跟Activity在根本上就不一樣
10/03 22:16, 7F

10/03 22:17, , 8F
所以建議你先從Android的四大元件開始了解
10/03 22:17, 8F
感謝zxc190與ted66 可以在新的Activity獲取舊Activity的instance了 不過想再請教sdyy大大 所以並不建議呼叫舊的Activity的method? 有可能產生crash是嗎 或是舊的Activity無法響應了 謝謝 ※ 編輯: ooonnneee 來自: 111.240.232.29 (10/04 06:04)

10/04 18:37, , 9F
第一種方法是將方法宣告成靜態
10/04 18:37, 9F

10/04 18:39, , 10F
第二種方法 既然會共用到的方法為何不寫在另外一個class呼叫
10/04 18:39, 10F
文章代碼(AID): #1IIiKShv (AndroidDev)