码迷,mamicode.com
首页 > 其他好文 > 详细

两个Activity之间共享数据、互相访问的另一种方式的实现

时间:2014-06-12 14:05:03      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:android   class   http   tar   ext   com   

本帖最后由 勇敢的心_ 于 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);
        }
}

两个Activity之间共享数据、互相访问的另一种方式的实现,布布扣,bubuko.com

两个Activity之间共享数据、互相访问的另一种方式的实现

标签:android   class   http   tar   ext   com   

原文地址:http://www.cnblogs.com/wanqieddy/p/3782321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!