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; }
运行结果:
、
用户评论