只需传递布尔值而不是字符串一。不需要可包裹的物品。在你的情况下
Intent intent = new Intent(DetailActivity.this,
TourMapActivity.class);
intent.putExtra("isBusiness", false);
startActivity(intent);
您可以使用 Parselable mechanizm 将实体序列化为普通类型。
这是 Google 使用 Parselable 的第一个示例。
公共类 ObjectA 实现 Parcelable {
private String strValue;
private Integer intValue;
/**
* Standard basic constructor for non-parcel
* object creation
*/
public ObjectA() { ; };
/**
*
* Constructor to use when re-constructing object
* from a parcel
*
* @param in a parcel from which to read this object
*/
public ObjectA(Parcel in) {
readFromParcel(in);
}
/**
* standard getter
*
* @return strValue
*/
public String getStrValue() {
return strValue;
}
/**
* Standard setter
*
* @param strValue
*/
public void setStrValue(String strValue) {
this.strValue = strValue;
}
/**
* standard getter
*
* @return
*/
public Integer getIntValue() {
return intValue;
}
/**
* Standard setter
*
* @param intValue
*/
public void setIntValue(Integer intValue) {
this.intValue = intValue;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
// We just need to write each field into the
// parcel. When we read from parcel, they
// will come back in the same order
dest.writeString(strValue);
dest.writeInt(intValue);
}
/**
*
* Called from the constructor to create this
* object from a parcel.
*
* @param in parcel from which to re-create object
*/
private void readFromParcel(Parcel in) {
// We just need to read back each
// field in the order that it was
// written to the parcel
strValue = in.readString();
intValue = in.readInt();
}
/**
*
* This field is needed for Android to be able to
* create new objects, individually or as arrays.
*
* This also means that you can use use the default
* constructor to create the object and use another
* method to hyrdate it as necessary.
*
* I just find it easier to use the constructor.
* It makes sense for the way my brain thinks ;-)
*
*/
public static final Parcelable.Creator CREATOR =
new Parcelable.Creator() {
public ObjectA createFromParcel(Parcel in) {
return new ObjectA(in);
}
public ObjectA[] newArray(int size) {
return new ObjectA[size];
}
};
}