• Intent使用Parcelable传递对象


    package com.pingyijinren.test;
    
    import android.os.Parcel;
    import android.os.Parcelable;
    
    import java.io.Serializable;
    
    /**
     * Created by Administrator on 2016/5/20 0020.
     */
    public class Person implements Parcelable{
        private String name;
        private int age;
    
        @Override
        public int describeContents(){
            return 0;
        }
    
        @Override
        public void writeToParcel(Parcel dest, int flags){
            dest.writeString(name);
            dest.writeInt(age);
        }
    
        public static final Parcelable.Creator<Person> CREATOR=new Parcelable.Creator<Person>(){
            @Override
            public Person createFromParcel(Parcel source){
                Person person=new Person();
                person.name=source.readString();
                person.age=source.readInt();
                return person;
            }
    
            @Override
            public Person[] newArray(int size){
                return new Person[size];
            }
        };
    
        public void setName(String name){
            this.name=name;
        }
    
        public void setAge(int age){
            this.age=age;
        }
    
        public String getName(){
            return name;
        }
    
        public int getAge(){
            return age;
        }
    }
    package com.pingyijinren.test;
    
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    
    public class IndexActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_index);
    
            Intent intent=new Intent(this,TransferObjectActivity.class);
            Person person=new Person();
            person.setAge(26);
            person.setName("张钦雄");
            intent.putExtra("person",person);
            startActivity(intent);
        }
    }
    package com.pingyijinren.test;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    
    public class TransferObjectActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_transfer_object);
    
            Person person=getIntent().getParcelableExtra("person");
            Log.d("MainActivity",person.getName()+" "+person.getAge());
        }
    }
  • 相关阅读:
    cad怎么样创建动态块
    块定义从一个图形传到当前图形
    AutoCAD200X\Support\acad.lsp 启动时自动加载dll
    菜单变灰
    CAD实体双击弹出自定义窗体,可根据扩展数据(通用)
    转载:双击实体弹出对话框(重载AcDbDoubleClickEdit)
    当前已保存的用户坐标系坐标点到世界坐标系的转换
    Windows下编译PHP的C扩展
    flexpaper使用介绍
    IE6 png处理
  • 原文地址:https://www.cnblogs.com/zqxLonely/p/5511613.html
Copyright © 2020-2023  润新知