2012-03-08 54 views
2

我是新的android.and我需要一些帮助 我有ArrayList这是一个对象实现Parciable .and我想要传递这个ArrayList到另一个活动。 这是我NewsEntity.javaandroid传递对象包含bitMap到另一个活动

公共类NewsEntity实现Parcelable { /** * * / 私营位图位图; 私有字符串标题; 私人字符串简要; 私人字符串细节; 私人字符串记者; private String ImageFile; 私人字符串日期; private String readCount; private String shareCount; public int addRead_count; public int addShare_count;

private static ByteBuffer dst; 
private static byte[] bytesar; 
public NewsEntity() { 
    bitmap=null; 
    title=""; 
    brief=""; 
    details=""; 
    reporter=""; 
    ImageFile=""; 
    date=""; 
    readCount=""; 
    shareCount=""; 
    addRead_count=0; 
    addShare_count=0; 
} 

public void setTitle(String title) { 
    this.title = title; 
} 
public String getTitle() { 
    return title; 
} 
public void setBrief(String brief) { 
    this.brief = brief; 
} 
public String getBrief() { 
    return brief; 
} 
public void setDetails(String details) { 
    this.details = details; 
} 
public String getDetails() { 
    return details; 
} 
public void setReporter(String reporter) { 
    this.reporter = reporter; 
} 
public String getReporter() { 
    return reporter; 
} 

public void setImageFile(String imageFile) { 
    ImageFile = imageFile; 
} 
public String getImageFile() { 
    return ImageFile; 
} 
public void setDate(String date) { 
    this.date = date; 
} 
public String getDate() { 
    return date; 
} 
public void setReadCount(String readCount) { 
    this.readCount = readCount; 
} 
public String getReadCount() { 
    return readCount; 
} 
public void setShareCount(String shareCount) { 
    this.shareCount = shareCount; 
} 
public String getShareCount() { 
    return shareCount; 
} 

public Bitmap getBitmap() { 
     return bitmap; 
} 

public void setBitmap(Bitmap bitmap) { 
     this.bitmap = bitmap; 
} 

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

    @Override 
    public void writeToParcel(Parcel out, int flags) { 
     try{ 
      out.writeString(title); 
     out.writeString(brief); 
     out.writeString(details); 
     out.writeString(reporter); 
     out.writeString(readCount); 
     out.writeString(shareCount); 
     out.writeInt(addRead_count); 
     out.writeInt(addShare_count); 
     out.writeString(date); 
     out.writeString(ImageFile); 

    } 

    public static final Parcelable.Creator<NewsEntity> CREATOR = new Parcelable.Creator<NewsEntity>() { 
     //public class MyCreator implements Parcelable.Creator<MyProduct> {  
      public NewsEntity createFromParcel(Parcel in) { 
        return new NewsEntity(); 
       } 

       public NewsEntity[] newArray(int size) { 
        return new NewsEntity[size]; 
       } 
      }; 
      private NewsEntity(Parcel in) { 
       try{ 
        title=(String) in.readString(); 
       brief=(String) in.readString(); 
       details=(String) in.readString(); 
       date=(String) in.readString(); 
       reporter=(String) in.readString(); 
       readCount=(String) in.readString(); 
       shareCount=(String) in.readString(); 
       ImageFile=(String) in.readString(); 
       addRead_count=(Integer) in.readInt(); 
       addShare_count=(Integer) in.readInt(); 
       bitmap=in.readParcelable(Bitmap.class.getClassLoader()); 

       } 
       catch(Exception e){} 
       } 

}

和这条线,其通过ArrayList的意图 newsDetailsIntent.putExtra( “显示”,result_news); startActivity(newsDetailsIntent);

我需要help.how做

在此先感谢

+0

这个问题问了很多次以活动之间的传递位图.....尝试自己更好 – 2012-03-08 14:22:31

+0

可能的重复[如何将位图对象从1个活动传递给另一个](http://stackoverflow.com/questions/2459524/how-can-i-pass-a- bitmap-object-from-1-activity-to-another) – 2012-03-08 14:22:48

+0

我已经阅读了很多文章,但sti我不会再尝试。谢谢samir – 2012-03-08 14:31:19

回答

2

使用你的类像这样(位图):

package br.problema.domain; 

import android.graphics.Bitmap; 
import android.os.Parcel; 
import android.os.Parcelable; 

public class Product implements Parcelable { 
    private long id; 
    private String name; 
    private String tag; 
    private Bitmap image; 


    public Product(long id, String name, String tag, Bitmap image) { 
     super(); 
     this.id = id; 
     this.name = name; 
     this.tag = tag; 
     this.image = image; 
    } 
    public Product(Parcel in){ 
     id = in.readLong(); 
     name = in.readString(); 
     tag = in.readString(); 
     image = (Bitmap) in.readValue(Bitmap.class.getClassLoader()); 
    } 


    public long getId() { 
     return id; 
    } 
    public void setId(long id) { 
     this.id = id; 
    } 


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


    public String getTag() { 
     return tag; 
    } 
    public void setTag(String tag) { 
     this.tag = tag; 
    } 


    public Bitmap getImage() { 
     return image; 
    } 
    public void setImage(Bitmap image) { 
     this.image = image; 
    } 


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


    @Override 
    public void writeToParcel(Parcel dest, int flags) { 
     dest.writeLong(id); 
     dest.writeString(name); 
     dest.writeString(tag); 
     dest.writeValue(image); 
    } 


    public static final Parcelable.Creator<Product> CREATOR = new Parcelable.Creator<Product>(){ 
     public Product createFromParcel(Parcel in){ 
      return new Product(in); 
     } 

     public Product[] newArray (int size){ 
      return new Product[size]; 
     } 
    }; 
} 
+1

优秀,谢谢! – Belial09 2016-06-22 12:22:52

相关问题