您的位置:首页 > 其它

利用Parcelable 在activity之间传值

2012-10-22 09:29 330 查看
import cn.hnsi.android.platform.Entity;
import android.R.integer;
import android.os.Parcel;
import android.os.Parcelable;
/**
 * 消息实体类
 * @author LEE
 *
 */
public class NewsItem implements Entity, Parcelable {
	// 在依赖 Google GSON Library 的 Entity 中非特殊情况下不需要 setter 方法。
	private String title;
	private int id;

	public NewsItem(){
		super();
	}
	/**
	 * 与 writeToParcel(Parcel dest, int flags)中写入顺序一致
	 * @param source
	 */
	public NewsItem(Parcel source) {
		title=source.readString();
		id=source.readInt();
	}

	public int getId() {
		return id;
	}

	public String getTitle() {
		return title;
	}

	

	@Override
	public int describeContents() {
		return 0;
	}

	@Override
	public void writeToParcel(Parcel dest, int flags) {	
		dest.writeString(title);
		dest.writeInt(id);
	}	
	
    public static final Parcelable.Creator<NewsItem> CREATOR = new Parcelable.Creator<NewsItem>() {  
    	  
        public NewsItem createFromParcel(Parcel source) {  
              
            return new NewsItem(source);  
        }        
  
        public NewsItem[] newArray(int size) {  
              
        	return new NewsItem[size];  
           // throw new UnsupportedOperationException();   
        }  
          
    }; 
}


传递:

NewsItem news = entity.getNewsItems()[1];
				intent = new Intent(NewsBoxActivity.this,
						NewsBoxDetailsActivity.class);
				intent.putExtra("news", news);
				startActivity(intent);

接收:

news = getIntent().getParcelableExtra("news");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: