Android:通过静态变量传递数据

来源:互联网 发布:程不时 知乎 编辑:程序博客网 时间:2024/05/17 02:30

一般我们使用intent在Activity之间传递数据,但是intent不能传递序列化的数据,这时我们采用静态变量的方法传递数据

第一个Activity

package trans.state;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class TransStateActivity extends Activity {    /** Called when the activity is first created. */    private Button btn_tiaozhuan;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        btn_tiaozhuan=(Button)findViewById(R.id.btn_tiaozhuan);        btn_tiaozhuan.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                // TODO Auto-generated method stub                Intent intent=new Intent(TransStateActivity.this,OtherActivity.class);                TransObject transObject = new TransObject();                transObject.setName("林肯公园");                OtherActivity.transObject=transObject;                startActivity(intent);            }        });    }}
这里写代package trans.state;import android.app.Activity;import android.os.Bundle;import android.util.Log;public class OtherActivity extends Activity {    public static TransObject transObject;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        Log.d("OtherActivity", transObject.getName());    }    @Override    protected void onDestroy() {        // TODO Auto-generated method stub        //Activity被销毁后将transObject置为空,节省内存        super.onDestroy();        transObject = null;    }}

需要传递的静态变量

package trans.state;public class TransObject {    private String name;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }}
0 0