首页 > 代码库 > 两个Activity之间共享数据、互相访问的另一种方式的实现
两个Activity之间共享数据、互相访问的另一种方式的实现
本帖最后由 勇敢的心_ 于 2010-9-29 11:51 编辑 本人从windows编程转过来学习Android开发,一直在想如果两个Activity之间能够像C#或delphi中的Form一样,可以直接访问其成员(字符、数值、成员对象等),并能调用其公开的方法,那应该比用Intent来传递数据直接方便的多,于是偿试了如下办法,测试基本没有问题,发出来大家讨论一下。本人学习android不久,幼稚的地方希望大家不要见笑 原理:假设有两个Activity:ActivityMain 和 ActivityNew,在 ActivityMain 中启动 ActivityNew,而在 ActivityNew 可以访问 ActivityMain 中的成员对象,调用其公开的方法。那么先在 ActivityMain 中定义一个静态的成员变量,类型为 ActivityMain ,然后在 OnCreate过程中,将ActivityMain 的实例this赋值给该成员: public class ActivityMain extends Activity { public static ActivityMain MainAct; //定义一个本类型的成员变量 String GetStr(){ return "shao jian"; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); MainAct = this; //在这里将本实例赋值给静态成员变量 } ... } 在ActivityNew中访问ActivityMain中的成员变量和方法: public class ActivityNew extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { String title = bundle.getString("Title"); title = MainActicivity.MainAct.GetStr(); //调用成员方法 t.setText(title.trim()); super.onCreate(savedInstanceState); } } |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。