zoukankan      html  css  js  c++  java
  • android页面间传递对象

    android传递对象有两种方式:

    一种是Serializable和Parcelable

    对于第一种方式:

    import java.io.Serializable;


    public class ShopData implements Serializable {
    public String shopId;
    public String name;
    public String url;
    public String info;


    public String getShopId() {
    return shopId;
    }


    public void setShopId(String shopId) {
    this.shopId = shopId;
    }


    public String getName() {
    return name;
    }


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


    public String getUrl() {
    return url;
    }


    public void setUrl(String url) {
    this.url = url;
    }


    public String getInfo() {
    return info;
    }


    public void setInfo(String info) {
    this.info = info;
    }


    }

    传递值的时候这样来传递:

    	<span style="white-space:pre">			</span>Intent intent = new Intent();
    				ShopData shopData = (ShopData)mAdapter.getItem(position);
    //				intent.putExtra("detail", shopData);
    				Bundle bundle = new Bundle();
    				bundle.putSerializable("shop", shopData);
    				intent.putExtra("detail", shopData);
    				intent.setClass(MainActivity.this, DetailShopActivity.class);
    				MainActivity.this.startActivity(intent);
    取值的时候:

    <span style="white-space:pre">		</span>Intent intent = getIntent();
    //		ShopData data = intent.getParcelableExtra("detail");
    		ShopData data = (ShopData)intent.getSerializableExtra("detail");

    对于另外一种方式:

    import android.os.Parcel;
    import android.os.Parcelable;
    
    public class ShopData implements Parcelable{
    
    	public String shopId;
    	public String name;
    	public String url;
    	public String info;
    
    	public ShopData(Parcel in) {
    		readFromParcel(in);
    	}
    	
    	public ShopData() {
    	}
    	
    
    	public static final Parcelable.Creator<ShopData> CREATOR = new Parcelable.Creator<ShopData>() {
    		
    		public ShopData createFromParcel( Parcel in ){
    			return new ShopData(in);
    		}
    		
    		public ShopData[] newArray( int size){
    			return new ShopData[size];
    		}
    	};
    	
    	@Override
    	public int describeContents() {
    		return 0;
    	}
    
    	@Override
    	public void writeToParcel(Parcel dest, int flags) {
    		dest.writeString(shopId);
    		dest.writeString(name);
    		dest.writeString(url);
    		dest.writeString(info);
    		
    	}
    	public void readFromParcel( Parcel in ){
    		shopId = in.readString();
    		name = in.readString();
    		url = in.readString();
    		info = in.readString();
    	}
    	
    }

    传递的时候这样写:

    	<span style="white-space:pre">			</span>Intent intent = new Intent();
    				ShopData shopData = (ShopData)mAdapter.getItem(position);
    				intent.putExtra("detail", shopData);
    				intent.putExtra("detail", shopData);
    				intent.setClass(MainActivity.this, DetailShopActivity.class);
    				MainActivity.this.startActivity(intent);


    取值的时候:

    <span style="white-space:pre">		</span>Intent intent = getIntent();
    		ShopData data = intent.getParcelableExtra("detail");



  • 相关阅读:
    HTML5数据推送SSE原理及应用开发
    用Docker构建分布式Redis集群
    开发者必备的12个JavaScript库
    分享:我用一天时间开发的 新年送祝福 微信手机网站(可在线体验附图)(要代码的留下邮箱)
    祝福csdn回望2014,展望2015 大致可以这样总结和展望
    对 云寻觅贴吧(http://tieba.yunxunmi.com/)的简要分析
    开源前夕先给大家欣赏一下我用C语言开发的云贴吧 网站自动兼容-移动、手机、PC自动兼容云贴吧
    舞蹈模特欣欣(六)棚拍私房 大家看看像小龙女(李若彤)吗?
    终于解决了贴吧手机版的一个重大BUG
    比基尼美女_人像摄影吧主题
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/6796304.html
Copyright © 2011-2022 走看看