欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

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

来源: 开发者 投稿于  被查看 33476 次 评论:247

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


使用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;
	}

运行结果:

\\

 

用户评论