Android Intent传递对象
16lz
2021-01-23
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中SQLiteOpenHelper类的onUpgrade方法的作用
- Android JNI cpp文件创建 java bean 对象并返回
- android TabHost(选项卡)的使用方法
- Android使用系统方法实现分享到QQ和微信!
- Android多种方法获取系统时间
- intelliJ IDEA 创建maven android工程的方法