作者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