2

Parcelable Inteface를 사용하여 드로어 블 필드를 포함하는 객체를 다른 액티비티로 전달하려고합니다. 그러나 문제는, (그 객체가 보내야 만하는) 클래스에서 오버라이드 된 메소드 public void writeToParcel(Parcel parcel, int flags)에서 "parcel.writeDrawable"종류의 메소드를 가질 수 없다는 것입니다. 그래서 다른 필드는 전달할 수 있지만 Drawable은 사용할 수 없습니다. 필자는 Parcelable Interface를 구현 한 후 클래스에 다음 메소드를 추가했다.Drawable 매개 변수를 포함하는 객체를 의도를 통해 다른 액티비티로 전달하는 방법 Parcelable Interface In android

public static final Parcelable.Creator<ImageInfo> CREATOR = new Parcelable.Creator<ImageInfo>() { 

    public ImageInfo createFromParcel(Parcel source) { 
     return new ImageInfo(source); 
    } 

    public ImageInfo[] newArray(int size) { 
     return new ImageInfo[size]; 
    } 
}; 

public int describeContents() { 
    return 1; 
} 

public void writeToParcel(Parcel parcel, int flags) { 
    parcel.writeString(name); 
    parcel.writeString(price); 
    parcel.writeString(urlOfImage); 
} 

내가 의도 내 목적을두고있어 다음과 같은 코드를 사용하여

Bundle b = new Bundle(); 
b.putParcelable("parse", imageInfo); 
intentTrackIntHome.putExtras(b); 

그래서 그 드로어 블 필드를 전달해야 할 일.

공유 기본 설정, sd 카드, 글로벌 응용 프로그램 클래스, 정적 필드를 사용할 수 있음을 알고 있습니다. 그러나 나는 그것을 사용하고 싶지 않다. 나중에 내 코드가 변경 될 수 있으므로 강력한 코드가 필요합니다.

답변

2

드로어 블을 비트 맵으로 변환하여 다른 활동으로 보냅니다. 가져올 수

Bitmap bitmap = ((BitmapDrawable)d).getBitmap(); 
intent.putExtra("Bitmap", bitmap); 

, 세부 사항은 더 Follow this Link

+0

감사를 들면 그 의도

Bitmap bitmap = (Bitmap)this.getIntent().getParcelableExtra("Bitmap"); 

,하지만 난 오히려보다, 내가 보낼 별도로 각 개체 매개 변수를 전달하지 않으려는 하나의 매개 변수가 그릴 수있는 한 번에 전체 개체 –

관련 문제