Activity之间传递对象

在android中我们经常要在activity之间去传递数据,有时候会是一些比较简单,有时候又会是比较复杂的,今天这一篇主要是写如何在activity之间传递对象,废话不多说,直接上代码

MainActivity.java

public class MainActivity extends Activity implements View.OnClickListener {
    private Button mButton;
    private Context mContext;
    private Personal mPersonal;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mContext=this;
        mPersonal = new Personal();
        mPersonal.setName("小明");
        mPersonal.setAge(20);
        initView();
    }

    //初始化View
    private void initView() {
        mButton = (Button) findViewById(R.id.btn);
        mButton.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(mContext, SecondActivity.class);
        intent.putExtra("personal", mPersonal);
        startActivity(intent);
    }
}
SecondActivity.java

public class SecondActivity extends Activity {
    private Personal mPersonal;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        mPersonal = (Personal) getIntent().getExtras().get("personal");
        String info = mPersonal.getName() + "/" + mPersonal.getAge();
        Toast.makeText(SecondActivity.this, "传递过来的数据为:" + info, Toast.LENGTH_SHORT).show();
    }
}
Personal.java

//该类是传递的对象类,需要实现序列化,不然无法实现activity之间传递对象
public class Personal implements Serializable {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

你可能感兴趣的:(android,android,对象,数据,activity)