作者ooonnneee (萬萬)
看板AndroidDev
標題[問題] pass Activity as parameter with Intent
時間Tue Oct 1 20:50:34 2013
請問要如何把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
1F:→ sdyy:Don't do this... 先從基本開始學吧 10/01 22:42
2F:推 zxc190:傳activity相依性會太高 不知道fragment是不是你要的東西 10/01 22:58
3F:推 MosilW:把 method 獨立出來不行嗎? 10/02 08:51
因為我是學iOS出身的
所以在一個UIViewController
呼叫另一個UIViewController的method 是一件很平常且容易的事
目前的問題點是 在Android底下
一個新的Activiy可不可以呼叫原來的Activity的方法
應該是可以
但我找不到可以把舊的Activity的this 傳送到新的Activity的方式
用Intent傳不過去
※ 編輯: ooonnneee 來自: 218.161.13.82 (10/03 12:15)
4F:→ ted66:fragment可以,或者廣播,或者另外提出來CLASS 10/03 16:37
5F:→ sdyy:當你開啟新的Activity時 舊的Activity的生命就已經無法保證 10/03 22:08
6F:→ sdyy:所以把要用的函式提取出來 才是正解 10/03 22:10
7F:→ sdyy:而且UIViewController跟Activity在根本上就不一樣 10/03 22:16
8F:→ sdyy:所以建議你先從Android的四大元件開始了解 10/03 22:17
感謝zxc190與ted66 可以在新的Activity獲取舊Activity的instance了
不過想再請教sdyy大大 所以並不建議呼叫舊的Activity的method?
有可能產生crash是嗎 或是舊的Activity無法響應了
謝謝
※ 編輯: ooonnneee 來自: 111.240.232.29 (10/04 06:04)
9F:→ dreak:第一種方法是將方法宣告成靜態 10/04 18:37
10F:→ dreak:第二種方法 既然會共用到的方法為何不寫在另外一個class呼叫 10/04 18:39