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

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

2015-11-04 23:52 453 查看
一般我们使用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;
}

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