0
点赞
收藏
分享

微信扫一扫

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


运行结果:

android:Activity数据传递之静态变量_点击事件

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



举报

相关推荐

0 条评论