的getString实现Serializable接口

我有课,因为我需要它传递活动之间实现Serializable接口的getString实现Serializable接口

Day tempDay = new Day(); 

Intent i = new Intent(this, DayCreator.class);

i.putExtra("DayClass", tempDay);

startActivity(i);

但在天类我需要阅读一些字符串像这样:

context.getString(R.string.sick_list); 

如果我通过构造函数传递给这个类的上下文像这样:

Day tempDay = new Day(context); 

开始DayCr当我得到一个错误发起人活动:

Parcelable encountered IOException writing serializable object 

这使得情况,因为上下文是不可序列化。

所以...我如何从实现Serializable的类获取字符串?

回答:

不要将上下文传递给POJO类。
一个简单的解决方法就是让组件读取字符串并将其传递给Day对象。如下面你的组件(活动或服务)。

Day tempDay = new Day(); 

tempDay.setName((getString(R.string.app_name));

回答:

当你试图通过捆绑发送整个模型对象..它应该是这样的

Day类变化这样

public class QrCode implements Parcelable { 

public static final Creator<QrCode> CREATOR = new Creator<QrCode>() {

@Override

public QrCode createFromParcel(Parcel in) {

return new QrCode(in);

}

@Override

public QrCode[] newArray(int size) {

return new QrCode[size];

}

};

@SerializedName("sno")

private int mSNo;

public QrCode(){

}

public QrCode(Parcel in) {

mSNo = in.readInt();

}

public int getSNo() {

return mSNo;

}

public void setSNo(int SNo) {

mSNo = SNo;

}

@Override

public int describeContents() {

return hashCode();

}

@Override

public void writeToParcel(Parcel parcel, int i) {

parcel.writeInt(mSNo);

}

}

以上是 的getString实现Serializable接口 的全部内容, 来源链接: utcz.com/qa/265048.html

回到顶部