Android(安卓)Intent传递对象
16lz
2022-05-14
Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);
本文只介绍好用的Serializable方法,想知道更多请自行百度。
第一步:新建一个类一个是Person.java实现Serializable接口
Person.java:
[java] view plain copy
- packagecom.tutor.objecttran;
- importjava.io.Serializable;
- publicclassPersonimplementsSerializable{
- privatestaticfinallongserialVersionUID=-7060210544600464481L;
- privateStringname;
- privateintage;
- publicStringgetName(){
- returnname;
- }
- publicvoidsetName(Stringname){
- this.name=name;
- }
- publicintgetAge(){
- returnage;
- }
- publicvoidsetAge(intage){
- this.age=age;
- }
- }
第二步:发送对象
ObjectTranDemo.java:
[java] view plain copy
- packagecom.tutor.objecttran;
- importandroid.app.Activity;
- importandroid.content.Intent;
- importandroid.os.Bundle;
- importandroid.view.View;
- importandroid.view.View.OnClickListener;
- importandroid.widget.Button;
- publicclassObjectTranDemoextendsActivityimplementsOnClickListener{
- privateButtonsButton,pButton;
- publicfinalstaticStringSER_KEY="anystring";
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- setupViews();
- }
- //我的一贯作风呵呵
- publicvoidsetupViews(){
- sButton=(Button)findViewById(R.id.button1);
- sButton.setOnClickListener(this);
- }
-
- //Serializeable传递对象的方法
- publicvoidSerializeMethod(){
- PersonmPerson=newPerson();
- mPerson.setName("H3c");
- mPerson.setAge(23);
- IntentmIntent=newIntent(this,ObjectTranDemo1.class);
- BundlemBundle=newBundle();
- mBundle.putSerializable(SER_KEY,mPerson);
- mIntent.putExtras(mBundle);
- startActivity(mIntent);
- }
- //铵钮点击事件响应
- publicvoidonClick(Viewv){
- SerializeMethod();
- }
- }
第三步:接收对象
ObjectTranDemo1.java:
[java] view plain copy
- packagecom.tutor.objecttran;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- importandroid.widget.TextView;
- publicclassObjectTranDemo1extendsActivity{
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- TextViewmTextView=newTextView(this);
- PersonmPerson=(Person)getIntent().getSerializableExtra(ObjectTranDemo.SER_KEY);
- mTextView.setText("Younameis:"+mPerson.getName()+"/n"+
- "Youageis:"+mPerson.getAge());
- setContentView(mTextView);
- }
- }
==================================================THE END=================================================
更多相关文章
- Android(安卓)保存文件路径方法
- 【Android】EventBus源码解析(3.1.1)
- Android中对Handle机制的理解
- Android(安卓)Pull解析
- 如何设置Activity全屏显示和没有Title
- Android中取消GridView & ListView默认的点击背景色
- 浅谈Java中Collections.sort对List排序的两种方法
- 类和 Json对象
- Python list sort方法的具体使用