欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android编程实现两个Activity之间共享数据及互相访问的方法

程序员文章站 2023-12-02 19:37:28
本文实例讲述了android编程实现两个activity之间共享数据及互相访问的方法。分享给大家供大家参考,具体如下: 本人从windows编程转过来学习android开...

本文实例讲述了android编程实现两个activity之间共享数据及互相访问的方法。分享给大家供大家参考,具体如下:

本人从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);
 }
}

希望本文所述对大家android程序设计有所帮助。