使用Intent传递对象(Parcelable方式)

【使用Intent传递对象(Parcelable方式)】第一个Activity布局文件


第二个Activity布局文件

第一个Activity
public class MainActivity extends AppCompatActivity {private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button)findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Person person = new Person(); person.setName("Tom"); person.setAge(20); Intent intent = new Intent(MainActivity.this,Main2Activity.class); intent.putExtra("person_data",person); startActivity(intent); } }); } }

第二个Activity
public class Main2Activity extends AppCompatActivity {private TextView show_text; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); //Person person = (Person)getIntent().getSerializableExtra("person_data"); Person person = (Person)getIntent().getParcelableExtra("person_data"); show_text = (TextView)findViewById(R.id.show_text); show_text.setText("name:"+person.getName()+"\n"+"age:"+person.getAge()); } }

效果和 “使用Intent传递对象(Serializable方式)”
总结:
使用Intetn来传递对象,可以使用Serializable和Parcelable。Serializable的方式较为简单,但是由于会把整个对象进行序列化,因此效率会比较Parcelable方式低一些,所以在通常情况下还是更加推荐使用Parcelable的方式来实现Intent传递对象的功能。

    推荐阅读