您的位置:首页 > 移动开发 > Android开发

android:Activity数据传递之静态变量

2016-02-12 12:39 429 查看
使用Intent可以很方便在不同activity之间传递数据,这个也是官方推荐的方式,但是也有一定的局限性

就是Intent无法传递不能序列化的对象,我们可以使用静态变量来解决这个问题。

Obj类

package com.example.activity;

public class Obj{
	String name;
	public String getName(){
		return name;
	}
	public void setName(String name){
		this.name=name;
	}
}


在OtherActivity中声明一个静态变量

public static Obj obj;


在MainActivity中添加一个按钮组件,并对其添加点击事件

Intent intent=new Intent();
				intent.setClass(MainActivity.this, OtherActivity.class);
				startActivity(intent);
				Obj obj=new Obj();
				obj.setName("我是苏苏");
				OtherActivity.obj=obj;
然后在OtherActivity中输出这个值

Toast.makeText(OtherActivity.this, obj.getName(), Toast.LENGTH_LONG).show();


做完这些 我们还要在OtherActivity中做一件事 就是在这个Activity销毁时使obj=null;

这是因为在java中有一个垃圾回收机制 并且只会回收没有指向型的对象,也就是null

protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		obj=null;
	}


运行结果:




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: