オブジェクトXのリストを含むオブジェクトXがあります。 リストにループを作成し、リストからオブジェクトXをインテントを通じて別のアクティビティに渡します。アクティビティを介して複合オブジェクト参照を渡す
他の活動では、私はこのオブジェクトXを変更し、私は戻って私の最初の活動でのオブジェクトXを取得すると、この変更されたオブジェクトX.
を返し、私はこの点は大丈夫です、それは修正されています見ることができます。
しかし、ルートオブジェクトX(オブジェクトXのリストを含むもので、変更されたオブジェクトXからのものです)は、インテントへの参照を渡すだけでなく、変更するべきではありませんか?
もしそうでなければ、他のオブジェクトXの中のオブジェクトXの根の深さがどのように変更されているのでしょうか?
(私には十分明確ではないことを教えてください)。
ありがとうございました。 私は私のオブジェクトは(それがシリアライズとParcelableないという事実の注意を払っていない、私はこの後のを修正します)、より正確には、別の活動を通じて
を送信し、オブジェクトのXとの活性を有する:
public class CategoryBean implements Externalizable, Cloneable {
public static final boolean ACTIVE = true;
public static final boolean INACTIVE = false;
public static final int VALIDATED = 1;
public static final int NON_OBSERVED = 2;
public static final int IN_PROGRESS = 3;
public static final int PARTIEL = 4;
private String perimetre;
private CategoryBean parentCategory;
private List<CategoryBean> categoryList = new ArrayList<CategoryBean>();
protected String title;
/**
* Category validée ou non
*/
protected int state;
/**
* Category active ou inactive
*/
protected boolean activated = ACTIVE;
// public CategoryBean(Parcel in) {
// this.parentCategory = in.readParcelable(CategoryBean.class.getClassLoader());
// this.categoryList = Arrays.asList(in.readParcelableArray(CategoryBean.class.getClassLoader()));
// this.title = in.readString();
// }
/**
* @return the parentCategory
*/
public CategoryBean getParentCategory() {
return parentCategory;
}
/**
* @return the perimetre
*/
public String getPerimetre() {
return perimetre;
}
/**
* @param perimetre
* the perimetre to set
*/
public void setPerimetre(String perimetre) {
this.perimetre = perimetre;
}
/**
* @param parentCategory
* the parentCategory to set
*/
public void setParentCategory(CategoryBean parentCategory) {
this.parentCategory = parentCategory;
}
/**
* @return the category
*/
public List<CategoryBean> getCategoryList() {
return categoryList;
}
/**
* @param category
* the category to set
*/
public void setCategoryList(List<CategoryBean> categoryList) {
this.categoryList = categoryList;
}
/**
* @return the title
*/
public String getTitle() {
return title;
}
/**
* @param title
* the title to set
*/
public void setTitle(String title) {
this.title = title;
}
/**
* @return the state
*/
public int getState() {
return state;
}
/**
* @param state
* the state to set
*/
public void setState(int state) {
this.state = state;
}
/**
* @return the activated
*/
public boolean isActivated() {
return activated;
}
/**
* @param activated
* the activated to set
*/
public void setActivated(boolean activated) {
this.activated = activated;
}
@Override
public int hashCode() {
return parentCategory.hashCode() + categoryList.hashCode() + title.hashCode();
}
@SuppressWarnings("unchecked")
@Override
public void readExternal(ObjectInput input) throws IOException, ClassNotFoundException {
setPerimetre((String) input.readObject());
setParentCategory((CategoryBean) input.readObject());
setCategoryList((List<CategoryBean>) input.readObject());
setTitle((String) input.readObject());
setState((Integer) input.readObject());
setActivated((Boolean) input.readObject());
}
@Override
public void writeExternal(ObjectOutput output) throws IOException {
output.writeObject(getPerimetre());
output.writeObject(getParentCategory());
output.writeObject(getCategoryList());
output.writeObject(getTitle());
output.writeObject(getState());
output.writeObject(isActivated());
}
@Override
public CategoryBean clone() throws CloneNotSupportedException {
try {
CategoryBean clone = (CategoryBean) super.clone();
clone.setPerimetre(clone.getPerimetre());
clone.setParentCategory(clone.getParentCategory());
clone.setCategoryList(clone.getCategoryList());
clone.setTitle(clone.getTitle());
clone.setState(clone.getState());
clone.setActivated(clone.isActivated());
return clone;
} catch (CloneNotSupportedException e) {
throw new InternalError();
}
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder("(CategoryBean -> ");
sb.append(" perimetre : ");
sb.append(getPerimetre());
sb.append(" parentCategory : ");
sb.append(getParentCategory() != null ? getParentCategory().getTitle() : null);
sb.append(" categoryList : ");
sb.append(getCategoryList());
sb.append(" title : ");
sb.append(getTitle());
sb.append(" state : ");
sb.append(getState());
sb.append(" activated : ");
sb.append(isActivated());
sb.append(")");
return sb.toString();
}
}
定義 'オブジェクトXのリストを含むオブジェクトX' –
@サミール私の質問を更新しました – Nico